有没有办法让桌面用户看到墙上的消息?

bad*_*adp 9 ssh command-line 10.10

假设我不在家,在家里的电脑上 ssh-ing。无论出于何种原因,我都需要重新启动它。

# shutdown -r +10
Run Code Online (Sandbox Code Playgroud)

这会每分钟通过 发送一条警告消息wall,对于我的父母等正常桌面使用来说,这是完全不可见的。

有什么办法wall可以通过通知到达桌面。

Oli*_*Oli 8

和的内部wall结构如此封闭和古老,一旦它进入那里,就真的没有办法从中提取信息。

为此提出的唯一真正的想法(这个问题之前已经讨论过很多次)是改变shutdownreboot脚本,这样它们要么通过 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
Run Code Online (Sandbox Code Playgroud)

(我使用 export 而不是 a -displayor--display标志,因为我不知道这notify-send需要)