Как автоматически завершить работу из командной строки в 13.04

Я знаю, что уже есть аналогичный вопрос по этой теме. Но этот вопрос касался только того, как получить диалог закрытия в целом. Мне нужно вернуть обратный отсчет старого диалога завершения (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.

1
задан 13 April 2017 в 15:24

1 ответ

Запустите 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. надеюсь, что это сработает.

1
ответ дан 24 May 2018 в 14:52
  • 1
    Спасибо @ Sushantp606. Конечно, это будет работать на моей собственной системе. Но мне нужно это для проекта OSS BackInTime ( launchpad.net/backintime ), и я не хочу вмешиваться в файл sudoers пользователей для этого. – Germar 29 November 2013 в 01:27

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

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