如何让硬件关机按钮在 fluxbox 或其他替代窗口管理器(16.04)上显示菜单/zenity 消息?

如何让硬件关机按钮在 fluxbox 或其他替代窗口管理器(16.04)上显示菜单/zenity 消息?

当我按下硬件电源按钮和登录屏幕(或统一)正在运行,我收到一条很好的“您确定要关机吗”消息。

当我运行 fluxbox 时,软件关闭,但没有消息/确认。

有什么办法可以改变这种情况吗?我不介意编写 zenity 脚本/程序,我只是需要一个地方来放置它。

答案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。任何关于其 Wiki 页面上材料的澄清都必须向他们询问。我复制了上述网站说明后,已经清理了一些语法,但仍然不完美。


你可以在以下网址找到用户和 Fluxbox(开发者?)之间关于“关闭按钮”的激烈争论:源头锻造。在争论的最后,有人发布了源代码,它似乎/usr/bin/shutdown可能就是您想要放入钩子的地方。即创建您自己的,/usr/bin/shutdown调用/usr/bin/shutdown2原始副本。

相关内容