Как отключить кнопку выхода из системы, при сохранении возможности выключить?

Что я хочу сделать У меня есть конкретный пользователь для задач, которые требуют фокусировки. Когда я вошел в Ubuntu с этим пользователем, я хочу отключить кнопку выхода из системы и поддерживать только кнопку PowerOff

, что я попробовал

  • , снимающую DConf-Editor , чтобы отключить выйти в настройки GNOME

=> Это не работает, потому что он удаляет как выключатель, так и кнопки выключения питания.

  • пытался изменить кнопку «Выход» в кнопку PowerOff. Я добавил строку на .bash_logout .bash_logout gnome-session - quit --power-off --force , сделали файл исполняемым и добавил строку $ Home / .bash_logout Файл / etc / gdm3 / possionse / default

=> не работает, хотя вручную выполняют сценарий .bash_logout от терминала, работает

  • так же, как выше, но с отключение ] в .bash_logout.

Любые идеи о том, что попробовать дальше?

Спасибо много: -)

2
задан 21 February 2021 в 16:00

1 ответ

вы можете достичь этого, создав расширение гнома-оболочки для пользователя, для которого вы хотите это сделать...

Расширение UUID: remove_logout_button@username.domain Измените это в нижеприведенной команде (и далее), если вы хотите иметь другое имя... В противном случае просто скопируйте приведенную ниже команду и выполните ее.

run

install -D /dev/null $HOME/.local/share/gnome-shell/extensions/remove_logout_button@username.domain/extension.js

run

install -D /dev/null $HOME/.local/share/gnome-shell/extensions/remove_logout_button@username.domain/metadata.json

copy вставьте следующее содержимое в файл extension.js file

'use strict';

const Main = imports.ui.main;
const System = Main.panel.statusArea.aggregateMenu._system;

class Extension {
    constructor() {
    }

    enable() {
    System._sessionSubMenu.actor.label.set_text(_('Power Off'));
    System._sessionSubMenu.menu.box.remove_actor(System._logoutItem)      
    }

    disable() {
    if (System._loginScreenItem.visible) {
    System._sessionSubMenu.menu.box.remove_actor(System._loginScreenItem);
    System._sessionSubMenu.menu.box.add_actor(System._logoutItem);
    System._sessionSubMenu.menu.box.add_actor(System._loginScreenItem) } else {
    System._sessionSubMenu.menu.box.add_actor(System._logoutItem); }
    System._sessionSubMenu.actor.label.set_text(_('Power Off / Log Out'));
    }
}

function init() {
    return new Extension();
}

copy вставьте следующее содержимое в файл metadata.json file

{
  "name": "Remove Logout Button",
  "description": "Remove Logout Button",
  "uuid": "remove_logout_button@username.domain",
  "shell-version": [
    "3.38"
  ]
}

Save the files & close...

Если вы находитесь на Xorg сессии. вы можете обновить gnome-shell методом Alt+F2 r Enter, а затем включить расширение.

Если Вы находитесь на сессии Wayland. выйдите из системы и войдите в систему, а затем включите расширение.

enter image description here

0
ответ дан 18 March 2021 в 23:32

Другие вопросы по тегам:

Похожие вопросы: