(дополнено)Лёгкая выключалка для *box

Вот повозился и что у меня пока получилось yad*овитая выключалка,работает в любом дистрибутиве,лишь бы yad в системе был установлен.
Сделал два варианта,со значками и значки с надписями.Вот картинки а Arch и Lubuntu:

работает чётко как швейцарские часы.Структура такая-в любом месте создаёшь папку,например logout,в ней папка icons и скрипт.В папку icons ложишь любые понравившиеся иконки,я скачивал 48х48,если большие-крупнее будут значки. Как назвать иконки понятно из скрипта.Команды написал классические-sudo reboot и т.д.,поэтому или через sudoers или polkit надо разрешить без ввода пароля.Кто хочет может написать команды любые,хоть через dbus хоть через systemctl.Вот два варианта скрипта logout.sh:
1.Только со значками
#!/bin/bash

action=$(yad --center --on-top --undecorated \
     --button="!./icons/cancel.png! ОТМЕНА:1"\
    --button="!./icons/exit.png! ВЫЙТИ:2"\
    --button="!./icons/lock.png!БЛОКИРОВКА:3"\
    --button="!./icons/restart.png!ПЕРЕЗАГРУЗКА:4 "\
    --button="!./icons/shutdown.png!ВЫКЛЮЧИТЬ:5 ")
ret=$?

((ret==1)) && exit 0

if ((ret==2)) ; then
    pkill -KILL -u $USER &
    exit 0
fi

if ((ret==3)) ; then
   xscreensaver-command -lock  &
    exit 0
fi

if ((ret==4)) ; then
    sudo reboot &
    exit 0
fi

if ((ret==5)) ; then
    sudo shutdown -P now &
    exit 0
fi
2.значки с надписями:
#!/bin/bash

action=$(yad --center --on-top --undecorated \
     --button="отмена!./icons/cancel.png! ОТМЕНА:1"\
    --button="выйти!./icons/exit.png! ВЫЙТИ:2"\
    --button="блокировка!./icons/lock.png!БЛОКИРОВКА:3"\
    --button="перезагрузка!./icons/restart.png!ПЕРЕЗАГРУЗКА:4 "\
    --button="выключить!./icons/shutdown.png!ВЫКЛЮЧИТЬ:5 ")
ret=$?

((ret==1)) && exit 0

if ((ret==2)) ; then
    pkill -KILL -u $USER &
    exit 0
fi

if ((ret==3)) ; then
   xscreensaver-command -lock  &
    exit 0
fi

if ((ret==4)) ; then
    sudo reboot &
    exit 0
fi

if ((ret==5)) ; then
    sudo shutdown -P now &
    exit 0
fi
просьба к специалистам посмотреть,явных ошибок в скриптах нет?Если есть посоветуйте как поправить.
Интересная штука YAD,столько всег полезного можна с ним сделать....
Linux Forever!
по мне так какая то фигня, а так case...
Ошибки в тексте-неповторимый стиль автора©
[offtop_mode_on]
я, конечно, уважаю желание ТС решить поставленную задачу и приложенные им усилия, да только костыль это
не вижу принципиального отличия от приведенных выше вариантов - стандартного меню коробки и oblogout
сам я коробкой уже не пользуюсь, но и раньше мне вполне хватало простеньких скриптов с zenity, повешенных на хоткеи
типа так
#!/bin/sh
zenity  --question --text "Вы действительно желаете выключить компьтер?"
if [ $? = 0 ]
	then sleep 1 && systemctl poweroff
fi
exit 0
#!/bin/sh
zenity  --question --text "Вы действительно желаете перезагрузить компьтер?"
if [ $? = 0 ]
	then sleep 1 && systemctl reboot
fi
exit 0
а после полного перехода на xmonad все эти возюканья мышом для выполнения простейших действий вызывают только раздражение - какой в них смысл, когда те же действия можно реализовать нажатием 1-2 клавиш
и быстрее, и удобнее
[/offtop_mode_off]
Gnome 2 >> Unity >> KDE 4 >> Openbox >> Awesome >> Xmonad
GitHub , BitBuket
Haron_Prime
все эти возюканья мышом для выполнения простейших действий вызывают только раздражение - какой в них смысл, когда те же действия можно реализовать нажатием 1-2 клавиш
все до единого знаешь горячие клавиши? сколько десятков - сотен?
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
nafanja,
я разве написал, что знаю все до единой???
пару десятков самых используемых помню
а те, что не использую, и запоминать смысла нет
Gnome 2 >> Unity >> KDE 4 >> Openbox >> Awesome >> Xmonad
GitHub , BitBuket
Как подсел на DWM, вообще забыл, что такое иконки и менюшки и темы — они там просто противопоказаны.............перегрузка, выключение, ждущий — все через кнопки....... остальные действия в системе наполовину и кнопки и мышка (хотя можно тоже только кнопками)...... вообщем все под рукой и все удобно и сделано для себя.....естественно, другой даже не войдет в систему — вход не традиционный, а если и войдет, то посчитает работу в системе просто дикостью...
Когда на это смотрит человек всю жизнь работающий только на винде, у него волосы дыбом....
Ошибки не исчезают с опытом - они просто умнеют
vasek, ППКС!
Gnome 2 >> Unity >> KDE 4 >> Openbox >> Awesome >> Xmonad
GitHub , BitBuket
Такой множественный выбор правда лучше делать через case:
case "$ret" in
2) pkill -KILL -u $USER & ;;
3) xscreensaver-command -lock & ;;
4) sudo reboot & ;;
5) sudo shutdown -P now & ;;
esac
exit 0

Кроме того, pkill -KILL -u $USER вызывает у меня определённые сомнения: вы правда хотите убить грубо и неэстетично все пользовательские процессы, не дав им нормально завершиться? Таким манером обычно теряются кэши, истории, остаётся куча мусора (временных файлов), всякие мозиллы и офисы долго и нудно предлагают что-то восстановить, и т.п.. Оно вам надо?
Natrio
спасибо,что значит делать через case пока не понял,почитаю.
pkill -KILL -u $USER убрал,написал openbox --exit ,хотелось более универсальное решение.Кстати в каком-то дистрибутиве pkill -KILL -u $USER штатное решение в их выключалке.Вспомню напишу где.
Linux Forever!
nafanja
Haron_Prime
все эти возюканья мышом для выполнения простейших действий вызывают только раздражение - какой в них смысл, когда те же действия можно реализовать нажатием 1-2 клавиш
все до единого знаешь горячие клавиши? сколько десятков - сотен?
А зачем их знать (в смысле, помнить)? Надо знать не более десятка, вызывающих тематические меню. А когда меню уже появилось на экране - в нём буквы-ускорители видны. Так что дальше - делай как хочешь: можно жать клавишу-ускоритель, можно добраться ккурсорными клавишами, можно кликнуть мышью. Например, у меня Win-x - вызов меню выхода (достаточно запоминаемо), а дальше всё совсем очевидно: h - hibernate, l - logout, o - off the screen, r - reboot, s - shutdown. Надо выключиться - жму Win-x, s. А мышиные красоты жутко неудобны, по-моему.
 
Зарегистрироваться или войдите чтобы оставить сообщение.