Я работаю над киоском Lubuntu, которым управляют полностью удаленным IR. До сих пор все работает хорошо за исключением перезагрузки и выключения. У меня есть два связанных вопроса:
poweroff
в терминале и том, который работает reboot
. Однако я нахожу это неуклюжим и предпочел бы иметь одну кнопку на удаленном запуске Средство запуска "Завершения работы" (значок питания на нижнем правом из рабочего стола на Lubuntu 17.10) то же, которое произошло бы, если бы Вы нажали кнопку с мышью. Я использую xbindkeys
выполнять мои команды. Кто-либо знает терминальную команду или имеет сценарий для запуска средства запуска "Завершения работы"?Править: Я решил эту часть вопроса. Команда в 17,10 lxsession-default quit
Когда "сессия Lubuntu 17.10 Выхода из системы?" всплывающее окно появляется, я хочу, чтобы единственные опции, видимые, были Завершением работы, Перезагрузкой и Отменой. Я попробовал много вещей от некоторых более старых потоков и более старых версий, но имел не успех в удалении любой из опций.
Не работа над 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>
под соответствующими объектами
Таким образом, после прочтения и исследования больше не похоже, что можно редактировать параметры сеанса выхода из системы без редактирования и перекомпиляции исходного кода. Итак, я сделал следующую лучшую вещь; Я использовал python и tkinter, чтобы сделать свою собственную программу с графическим интерфейсом для отключения или перезагрузки компьютера.
1121 Это было на самом деле не сложно, и я знаю, что кто-нибудь может скомбинировать это, но я опубликую это здесь на тот случай, если кому-то будет интересно, или потому что это может кому-то помочь.
sudo apt-get install python
) sudo apt-get install python-tk
) sudo apt-get install idle
) idle
) #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()
sudo chmod a+s /sbin/poweroff
и sudo chmod a+s /sbin/reboot
. ** Остерегайтесь и имейте в виду, что это позволит любому перезагрузиться или отключиться без привилегий sudo, поэтому будьте осторожны ** Сценарий python /dir/to/file/name.py
Надежда это помогает кому-то! Вот изображение результата (я буду работать над тем, чтобы он выглядел красиво в течение следующих нескольких дней).
Из 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;
}
});
У меня нет ' Однако я не смог найти действия для переключения пользователя или выхода из системы.