Я знаю, что уже есть аналогичный вопрос по этой теме. Но этот вопрос касался только того, как получить диалог закрытия в целом. Мне нужно вернуть обратный отсчет старого диалога завершения (Ubuntu & lt; = 12.10), который выключает систему после 60 секунд.
geobuntu предложил этот вызов dbus в своем аналогичном вопросе об этой теме [ ! d1]:
dbus-send --print-reply --dest="org.gnome.Shell" /org/gnome/SessionManager/EndSessionDialog org.gnome.SessionManager.EndSessionDialog.Open uint32:2 uint32:0 uint32:60 array:objpath:/org/gnome/SessionManager/EndSessionDialog
qdbus указывают, что третий аргумент max_wait, который должен (на мой взгляд) установить и запустить обратный отсчет:
~$ qdbus org.gnome.Shell /org/gnome/SessionManager/EndSessionDialog
[...]
method void org.gnome.SessionManager.EndSessionDialog.Open(uint type, uint arg_1, uint max_wait, QList inhibitors)
Но это не делает. Я уже пробовал разные значения для type и arg_1 без везения.
EDIT: На самом деле обратный отсчет более «приятный». Я действительно нуждаюсь в том, что система будет выключена без каких-либо дополнительных действий пользователя. Он должен работать без sudo (включая любые суфлеры без пароля).
Я бы предпочел вызовы dbus, потому что у меня уже есть хороший список вызовов dbus, которые остановят все DE, кроме Unity> = 13.04
EDIT2: Я просмотрел список d9-вызовов . Я не знаю C++, но для меня это выглядит так: arg1 и timeout_length не обрабатываются в источнике (может кто-нибудь, кто знает C++, подтвердите это?). Возможно, это будет добавлено в более поздних версиях.
EDIT3: Я сообщил об этом как ошибку # 1256703 на Launchpad.
Запустите sudo visudo в терминале и добавьте следующую строку:
%user_name ALL=(ALL) NOPASSWD: /sbin/poweroff, /sbin/reboot, /sbin/shutdown
Это позволяет вам запускать вышеуказанные три команды, используя sudo, но без пароля.
[d3 ] Итак, sudo poweroff теперь приведет к отключению пароля.затем создайте псевдоним, поставив следующее в конце ~/.bashrc_aliases, открыв его как -
gedit ~/.bash_aliases
и добавьте следующее в последнее -
alias shutdown='sudo shutdown -h now'
Теперь загрузите изменения в файл .bash_aliases.
source ~/.bash_aliases
Попробуйте shutdown. надеюсь, что это сработает.