Я хочу создать значок завершения работы для средства запуска в 13,04. В прежних версиях Ubuntu я использовал этот файл на рабочем столе и помещал его в средство запуска:
.local/share/applications/indicator-session-shutdown.desktop
[Desktop Entry]
Name=Shut Down
TryExec=/usr/lib/indicator-session/gtk-logout-helper
Exec=/usr/lib/indicator-session/gtk-logout-helper --shutdown
Icon=system-shutdown
Terminal=false
Type=Application
OnlyShowIn=Unity;
Categories=System;
Version=1.0
X-Ubuntu-Gettext-Domain=indicator-session
Интересно если
/usr/lib/indicator-session/gtk-logout-helper --shutdown
все еще корректная команда в 13,04.
Вот снимок экрана со старым диалоговым окном завершения работы:
Вот снимок экрана с новым диалоговым окном завершения работы:
Чтобы получить именно это диалоговое окно, единственный способ - через dbus, поскольку gnome-sesion-quit
показывает только стандартный диалог с четырьмя параметрами. Я понял это, посмотрев на dbus-monitor
. Это команда:
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
Попробуйте:
Дополнительные параметры:
gnome-session-quit --help
Согласно руководству поддерживаются следующие параметры:
--logout
Prompt the user to confirm logout. This is the default behavior.
--power-off
Prompt the user to confirm system power off.
--reboot
Prompt the user to confirm system reboot.
--force
Ignore any inhibitors.
--no-prompt
End the session without user interaction. This only works with
--logout.
Или, глядя на dbus-monitor, это команда:
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