Как заставить аппаратную кнопку выключения отображать сообщение меню / zenity на fluxbox или других альтернативных оконных менеджерах (16.04)?

Когда я нажимаю кнопку питания аппаратного и запускается экран входа (или единство), я получаю приятное сообщение «Вы уверены, что хотите выключить».

Когда я запускаю Fluxbox, я получаю завершение работы программного обеспечения, но не получаю сообщение / подтверждение.

Есть ли способ изменить это? Я не против написания сценария / программы zenity, мне просто нужно место, чтобы поставить его.

1
задан 11 July 2018 в 18:02

1 ответ

От: Fluxbox Wiki - Завершение работы компьютера с диалоговым окном

Fluxbox не имеет приятного и приятного способа выключить компьютер. Но, если вы используете GDM для входа в систему, вы также можете сказать ему, чтобы выключить. Для простоты использования можно использовать сценарий, предоставляющий диалог подтверждения.

Сначала мы создадим диалог:

xmessage -nearmouse -buttons No:1,Yes:0 "Really shutdown?"

Есть другие способы сделать это, мы не обязаны использовать xmessage здесь. Это простой способ.

Если пользователь нажимает кнопку «нет», больше ничего не нужно делать, за исключением, возможно, предоставления ему советов по использованию мыши. Если он нажмет «да», мы выключим его компьютер.

Для этого мы сначала скажем GDM, что мы хотим завершить работу к моменту выхода из Fluxbox:

gdmflexiserver -a -c 'SET_LOGOUT_ACTION HALT'

Затем мы убьём Fluxbox:

kill -TERM $(xprop -root _BLACKBOX_PID | awk '{print $3}')

Некоторая строка и лента добавляются в скрипт для добавления в ваше меню:

#!/bin/sh
if xmessage -nearmouse -buttons No:1,Yes:0 "Really shutdown?"; then
  gdmflexiserver -a -c 'SET_LOGOUT_ACTION HALT'
  kill -TERM $(xprop -root _BLACKBOX_PID | awk '{print $3}')
else
  xmessage -nearmouse "Then why did you press that big red button?"
fi

Предупреждение: Я не использую Fluxbox. Любые разъяснения по материалам на их вики-странице должны быть запрошены им. Я убрал часть грамматики после копирования инструкций их сайта, но она все еще не идеальна.


Вы можете найти довольно горячий аргумент о «кнопке выключения» между пользователем и Fluxbox (разработчиками?) в Source Forge . В конце аргумента кто-то публикует исходный код, и кажется, что /usr/bin/shutdown может быть тем местом, куда вы хотите вставить хук. т.е. создайте свой собственный /usr/bin/shutdown, который вызывает /usr/bin/shutdown2, который является оригинальной копией.

0
ответ дан 11 July 2018 в 18:02

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

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