有没有办法让桌面用户看到留言信息?

假设我离开家,在我的家用电脑上s。。 出于任何原因,我需要重新启动它。

# shutdown -r +10 

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

wall信息是否可以通过通知等方式到达桌面。

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 

(我使用的是导出而不是-display--display标志,因为我不知道notify-send需要)

您可以使用zenity手动发送消息

 zenity --warning --text "badp's about to restart the computer" --display=:0 

当然,您可以将其包含在脚本中。

您应该能够编写一个脚本来编写ptty并侦听已写入的消息(来自写入或墙壁),然后将其转发到GUI输出。

AFAIK没有用于wall命令的X客户端在图形环境中显示这些消息。 您可以使用gxmessage app显示弹出窗口,但是您必须自己编写脚本。