有没有办法让桌面用户看到留言信息?
假设我离开家,在我的家用电脑上s。。 出于任何原因,我需要重新启动它。
# shutdown -r +10
这会每隔一分钟通过wall
发送一条警告信息,这对于我父母的正常桌面使用是完全不可见的。
wall
信息是否可以通过通知等方式到达桌面。
wall
的内部被封闭和古老,以至于一旦它在那里就没有办法从它那里拉出信息。
为此提出的唯一真实想法( 此问题已经多次讨论过 )是改变shutdown
和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
(我使用的是导出而不是-display
或--display
标志,因为我不知道notify-send
需要)
您可以使用zenity手动发送消息
zenity --warning --text "badp's about to restart the computer" --display=:0
当然,您可以将其包含在脚本中。
您应该能够编写一个脚本来编写ptty并侦听已写入的消息(来自写入或墙壁),然后将其转发到GUI输出。
AFAIK没有用于wall命令的X客户端在图形环境中显示这些消息。 您可以使用gxmessage app显示弹出窗口,但是您必须自己编写脚本。