从终端向本地登录用户广播消息

KC5*_*SDY 5 command-line broadcasting

这就是我想要做的。孩子们在 Ubuntu 盒子上看电影、youtube 等。我在我的 windows 盒子上做任何事情。由于孩子们的耳朵中植入了耳机,我想登录终端并向他们发送某种广播消息以引起他们的注意或给他们一个消息。我已经知道如何在他们玩耍时远程登录终端以在盒子上工作。

我已经看到了一些选项,例如“Wall”或“Write”,但是,这些选项似乎只适用于终端登录。我可以向我通过终端登录的测试帐户发送消息,但是坐在显示器前的本地用户没有任何消息。

我有哪些选择?在大多数情况下,我希望弹出一个窗口,其中包含我尝试传递的任何消息,这些消息会在 youtube 或全屏显示时中断他们正在做的事情。

想法?建议?建议?

Ser*_*nyy 1

授予访问权限

xhost +local:
Run Code Online (Sandbox Code Playgroud)

或禁用访问控制,客户端可以从任何主机连接(坏主意,但在您的网络中似乎没问题)

xhost +
Run Code Online (Sandbox Code Playgroud)

现在您可以通过远程连接执行此操作:

DISPLAY=:0 xmessage -center " THIS IS A TEST MESSAGE"
Run Code Online (Sandbox Code Playgroud)

贝娄是一个小演示。我在 TTY1 和 GUI 终端之间共享会话。正如您所看到的,没有设置环境变量DISPLAY,因此该终端就像我在 TTY1 中工作一样。上面的命令临时设置DISPLAY变量,从而使 xmessage 出现在该显示器上的 xserver 实例上。

在此输入图像描述

我尝试做同样的事情,notify-send但这似乎不起作用。

编辑

xmessage有点小。我更喜欢使用zenity对话框。例如,

DISPLAY=:0 zenity --info --text=" THIS IS ZENITY INFO DIALOG "