Lubuntu 17.10 - Удаление временно отстраняет, переключает пользователя, блокировка скрывают опции от Средства запуска “Завершения работы”

Я работаю над киоском Lubuntu, которым управляют полностью удаленным IR. До сих пор все работает хорошо за исключением перезагрузки и выключения. У меня есть два связанных вопроса:

  1. Теперь у меня есть 2 отдельных кнопки на удаленном; тот, который работает poweroff в терминале и том, который работает reboot. Однако я нахожу это неуклюжим и предпочел бы иметь одну кнопку на удаленном запуске Средство запуска "Завершения работы" (значок питания на нижнем правом из рабочего стола на Lubuntu 17.10) то же, которое произошло бы, если бы Вы нажали кнопку с мышью. Я использую xbindkeys выполнять мои команды. Кто-либо знает терминальную команду или имеет сценарий для запуска средства запуска "Завершения работы"?

Править: Я решил эту часть вопроса. Команда в 17,10 lxsession-default quit

  1. Когда "сессия Lubuntu 17.10 Выхода из системы?" всплывающее окно появляется, я хочу, чтобы единственные опции, видимые, были Завершением работы, Перезагрузкой и Отменой. Я попробовал много вещей от некоторых более старых потоков и более старых версий, но имел не успех в удалении любой из опций.

    enter image description here

    enter image description here

Не работа над 17,10:

  • gsettings set com.canonical.indicator.session suppress-logout-menuitem true

  • редактирование /usr/share/polkit-1/actions/org.freedesktop.login1.policy и установка <allow_active>no</allow_active> под соответствующими объектами

1
задан 3 March 2018 в 17:45

2 ответа

Таким образом, после прочтения и исследования больше не похоже, что можно редактировать параметры сеанса выхода из системы без редактирования и перекомпиляции исходного кода. Итак, я сделал следующую лучшую вещь; Я использовал python и tkinter, чтобы сделать свою собственную программу с графическим интерфейсом для отключения или перезагрузки компьютера.

1121 Это было на самом деле не сложно, и я знаю, что кто-нибудь может скомбинировать это, но я опубликую это здесь на тот случай, если кому-то будет интересно, или потому что это может кому-то помочь.

  1. Установить python (sudo apt-get install python)
  2. Установить tkinter (sudo apt-get install python-tk)
  3. Установить холостой ход (sudo apt-get install idle)
  4. Открыть холостой ход (idle)
  5. Файл -> Новый файл
  6. Вставьте следующий код:

#Test.py from Tkinter import * import os window = Tk() B1 = Button(window, text = "Shutdown", command = lambda: os.system('poweroff')) B2 = Button(window, text = "Reboot", command = lambda: os.system('reboot')) B3 = Button(window, text = "Quit", command = lambda: quit()) B1.pack() B2.pack() B3.pack() window.mainloop()

  1. В В новом окне, куда был вставлен код, нажмите Файл -> Сохранить -> введите имя файла
  2. Чтобы вызвать перезагрузку и отключение питания без привилегий sudo, необходимо выполнить следующие sudo chmod a+s /sbin/poweroff и sudo chmod a+s /sbin/reboot. ** Остерегайтесь и имейте в виду, что это позволит любому перезагрузиться или отключиться без привилегий sudo, поэтому будьте осторожны ** Сценарий
  3. можно запустить из терминала следующим образом: python /dir/to/file/name.py

Надежда это помогает кому-то! Вот изображение результата (я буду работать над тем, чтобы он выглядел красиво в течение следующих нескольких дней).

Программа в левом центре экрана

0
ответ дан 7 December 2019 в 15:23

Из https://www.freedesktop.org/software/polkit/docs/latest/polkit.8.html и https://bbs.archlinux.org/viewtopic.php ? id = 180798 Я бы попытался создать или отредактировать файл /etc/polkit-1/rules.d/10-auth.rules и включить следующее содержимое:

polkit.addRule(function(action, subject) {
    if (action.id == "org.freedesktop.login1.suspend" ||
        action.id == "org.freedesktop.login1.suspend-multiple-sessions" ||
        action.id == "org.freedesktop.login1.hibernate" ||
        action.id == "org.freedesktop.login1.hibernate-multiple-sessions" ||
        action.id == "org.freedesktop.login1.lock-sessions"
        // switch user ?
        // logout ?
        ) {
        return polkit.Result.NO;
    }
    if (action.id == "org.freedesktop.login1.shutdown" ||
        action.id == "org.freedesktop.login1.reboot") {
        return polkit.Result.YES;
    }
});

У меня нет ' Однако я не смог найти действия для переключения пользователя или выхода из системы.

1
ответ дан 7 December 2019 в 15:23

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

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