ShutdownDialog/ru



Если вы не используете GNOME/KDE/XFCE/LXDE/прочие диалоги выключения, есть достаточно простая альтернатива.

Скрипт написанный ниже отобразит простой диалог, как этот (скриптовый диалог показан справа). Предупереждаем, что если вы хотите использовать этот скрипт, вам понадобятся:
 * zenity (используется для создания диалога)
 * gksudo (часто его еще называют gksu, используется для проверки прав графических приложений)
 * pm-utils (доступен из freedesktop, используется для приостановки, закоментированно в коде, в пользу использования D-Bus)
 * dbus (используется для приостановки)
 * hal (управление оборудованием)
 * slock (блокировка экрана)

Тем не менее, в большинстве дистрибутивов, все эти функции будут доступны из менеджера пакетов. Если вы предпочитаете использовать какие то другие утилиты, не стесняйтесь редактировать сценарий, чтобы использовать их. Надеемся вы знаете, что вы делаете, но тем не менее, помощь доступна на IRC.

ACTION=`zenity --width=90 --height=200 --list --radiolist --text="Select logout action" --title="Logout" --column "Choice" --column "Action" TRUE Shutdown FALSE Reboot FALSE LockScreen FALSE Suspend` if [ -n "${ACTION}" ];then case $ACTION in  Shutdown)     zenity --question --text "Are you sure you want to halt?" && gksudo halt     ## или через ConsoleKit     # dbus-send --system --dest=org.freedesktop.ConsoleKit.Manager \     # /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop     ;;   Reboot) zenity --question --text "Are you sure you want to reboot?" && gksudo reboot ## или через ConsoleKit # dbus-send --system --dest=org.freedesktop.ConsoleKit.Manager \ # /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart ;;  Suspend)     #gksudo pm-suspend     dbus-send --system --print-reply --dest=org.freedesktop.Hal \     /org/freedesktop/Hal/devices/computer \     org.freedesktop.Hal.Device.SystemPowerManagement.Suspend int32:0     # HAL является устаревшим, сейчас используются UPower и т.д.     # dbus-send --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend     ;;   LockScreen) slock # Или gnome-screensaver-command -l ;;  esac fi
 * 1) !/bin/sh

Особенности

 * Простой
 * Приостановка не требует ввода пароля

Добавляем это в меню
Добавляем это в вашу таблицу меню: {"Log out", '/home/davide/bin/shutdown_dialog.sh'},

чтобы это выглядело примерно следующим оразом: mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon }, 				{"Firefox", "firefox"}, 				{"Thunderbird", "thunderbird"}, 				{"Pidgin", "pidgin"}, 				{"Log out", '/your/path/to/shutdown_dialog.sh'},                               { "open terminal", terminal }                             }                        })