如何对 Python 进行编程,使其输出到 Linux 中的所有终端

如何对 Python 进行编程,使其输出到 Linux 中的所有终端

我正在为树莓派编写一个Python程序。有没有办法让树莓派输出文本时,它会显示在当前通过 SSH 远程登录的所有终端上?

答案1

您可以尝试使用该wall程序,但登录的用户可能能够覆盖该程序并避免看到任何wall消息。或者,您可以尝试配置并使用 syslog 将消息从给定设施发送到该*位置,该位置(根据我的经验)将显示在所有登录的 shell 上。

答案2

以一种非常简单的方式:您可以查看所有伪ttys正在使用并写信给他们所有人。用于who列出所有当前登录及其 tty,例如:

$ who
me       tty1         Jun  1 07:09
brian    pts/0        Jun  1 07:15 (:pc1)
john     pts/1        Jun  1 07:15 (:pc88)
sue      pts/2        Jun  1 07:15 (:pc7)

第二列显示eg/dev/pts/0正在被login 使用brian。如果您有足够的权限,您可以简单地写入它,例如:

echo 'Msg from me: hello!' >/dev/pts/0

在我的系统上(不是 pi,抱歉),您需要处于 tty 组中,或者是 root:

$ ls -l /dev/pts/0
crw--w---- 1 brian tty 136, 4 Jun 28 20:55 /dev/pts/0

相关内容