Красивое выключение в Openbox

Расскажу как добится вот такой вот красоты. Может кому то интересно будет.

Для начала надо установить два пакета
pacman -S sudo gxmessage
Топаем править /etc/sudoers и добавляем строку
%users localhost=NOPASSWD: /sbin/shutdown -h now, /sbin/shutdown -r now
Добавляем пользователя в группу users и перезапускаем иксы
gpasswd -a username users
openbox --exit
Пишем скрипт на баше
#!/bin/bash
gxmessage -borderless "You really wish to switch off the computer?" -center -title "Exit" -default "Cancel" -buttons "_Cancel":1,"_Log Out":2,"_Reboot":3,"_Shutdown":4 >/dev/null
case $? in
    1) echo "Exit";;
    2) openbox --exit;;
    3) sudo reboot;;
    4) sudo halt;;
esac
Сохраняем его под любым именем. Я сохранил его как exit. Кидаем его в /usr/local/bin или куда вам угодно и делаете его исполняемым
chmod +x /usr/local/bin/exit
Топаем править файл меню Openbox'а и добавляем туда пункт
<item label="Shutdown">
  <action name="Execute">
     <command>/usr/local/bin/exit</command>
  </action>
</item>
В консоли выполням
openbox --reconfigure
И пробуем. Теперь в зависимости от того какую кнопку нажать будет выполнено то или иное действие.
У мну приблизительно так
yaourt -S gtkdialog
cat ./.muhas/sh/shutdown
#! /usr/bin/gtkdialog -e
function shutdown() {
   sudo halt
}
function reboot() {
  sudo reboot
}
function bla() {
  exec bla
}
export MAIN_DIALOG='
<vbox>
<hbox>
  <button>
    <label>shutdown</label>
    <action>shutdown</action>
  </button>
  <button>
    <label>reboot</label>
    <action>reboot</action>
  </button>
   <button>
    <label>bla</label>
    <action>bla</action>
  </button>
  </hbox>
  <button>
    <label>Exit</label>
  </button>
</vbox>
'
Зачем этот меню, если быстрее притулить 3 кнопочки к меню? :)
Знают же люди толк в извращениях,конечно я понимаю хочется красиво…
nano ~/.config/openbox/menu.xml
добавляем туда
<item label="Reboot">
		<action name="Execute">
			<execute>
				sudo reboot
			</execute>
		</action>
	</item>
и
<item label="Shutdown">
		<action name="Execute">
			<execute>
				sudo halt
			</execute>
		</action>
	</item>
не забываем добавить в /etc/sudoers
USER  ALL=(ALL) NOPASSWD: ALL
чтоб не просило ввода пароля
Как бэ все.Теперь ребутится и выключать ББ можно из иксов.Просто это мое ИМХО.
З.Ы Вместо USER добавить вашего пользователя.
kernel_panic, и случайно зацепив в менюхе не то мы уходим в ребут… да-да, конечно это всем и надо =)
вообще если серьёзно то отдельный диалог имхо удобнее…
Я собственно и не говорил делать всем как я сказал,там же написано что это мое ИМХО.ну а насчет рук которые попадают не туда вы наверно сами догадались :) У меня ребут повешен еще и на клавишу которую просто так нечаянно не нажмешь.А строка меню с ребутом в самом низу.А еще из menu.xml открывается правка конфигов с рутовыми правами,можно в rc.conf или xorg.conf нечаянно внести изменения,я уже сам себя боюсь,этож сколько я могу натворить то а, и все одним кликом!
Спасибо.
В AUR-е давно валяется oblogout. И красотостей - немерено!

Удобный конфиг, где всё просто и наглядно.
alx@mng ~ $ cat /etc/oblogout.conf.examples
[settings]
usehal = true
[looks]
opacity = 70
bgcolor = black
buttontheme = foom
buttons = cancel, logout, restart, shutdown, suspend, lock
[shortcuts]
cancel = Escape
shutdown = S
restart = R
suspend = U
logout = L
lock = K
hibernate = H
[commands]
shutdown = shutdown -h now
restart = reboot
suspend = pmi action suspend
hibernate = pmi action hibernate
safesuspend = safesuspend
lock = slock -l
switchuser = gdm-control --switch-user
logout = openbox --exit

Очень симпатично.
mango, спасибо за наводку. насколько понял не только в опеннке будет работать - пойду поставлю посмотреть если это так
Я себе в Xmonad прикрутил :)
не за что .. пользуйтесь на здоровье. :)
 
Зарегистрироваться или войдите чтобы оставить сообщение.