Answers:
和的内部机制wall
是如此古老而古老,以至于一旦将消息放入其中,实际上就无法从中提取消息。
为此提出的唯一真正的想法(这个问题已经讨论过很多次了)是更改shutdown
and reboot
脚本,以便它们可以通过dbus提供某些东西,或者(因为我们只处理一台计算机和一个修复程序)只是让它发送通知发送消息。
他们都只是脚本,所以你可以只攻入他们。但是我认为这可能是一个值得追求的原因。提交针对Ubuntu的错误并添加您的补丁(只要没有X环境,只需确保它们可以正常工作而无需发送通知即可)。我们需要的是这种可用性。
我以前从未听说gxmessage
过,但是我会使用notify-send
。
完整的解决方案需要适应多种显示(例如多头,远程用户等)的可能性,但值得庆幸的是,我昨天为此写了一些代码:
for display in `ps aux | grep -oE "/usr/bin/X\s[^ ]+" | cut -d " " -f 2`; do
DISPLAY=$display notify-send -u critical 'Shutdown notice' 'Save all your work. THE SYSTEM IS GOING DOWN!!' -i /usr/share/pixmaps/gnome-computer.png
done
(我使用的是export而不是-display
or或--display
flag,因为我不知道notify-send
两者都需要)
zenity
如果您在注销之前争先恐后地保存东西,那么警告可能会很烦人。但是notify-send
通知可能只是被忽略了。
您可以使用zenity手动发送消息
zenity --warning --text "badp's about to restart the computer" --display=:0
当然,您可以将其包括在脚本中。
=:0
不是=0
)
libnotify-bin
包装。