远程访问多个桌面

远程访问多个桌面

我想知道是否有办法创建一个脚本来远程访问多个桌面。我将一台投影仪连接到一台机器,我想根据每台源机器中的一些事件在此投影仪上显示不同的桌面。我只想显示视频,不需要访问每台机器的系统。

谢谢!

答案1

嗯,取决于你的意思

如果发生什么事

你必须通知显示主机有关该事件的信息,以便它能够获取远程视频流。

视频的来源是什么?

你可能想要做的只是将 X 输出转发到显示主机。您可以在这里找到部分答案:启用 SSH 和远程桌面访问

在这种情况下,您可以发送消息至显示主机并触发它的连接主机A或者主机B

PS我认为主机A主机B两者都在制作视频流,并且显示主机连接至投影仪。

答案2

因此,假设您可以记录所提到的游戏中的系统日志消息,那么有一种方法可以使所有工作正常。

在 HostA 和 HostB 上以低权限用户(即非 root)运行一行简单命令

对于 HostA

tail -fn0 /var/log/syslog | awk '/CHANGE-FOCUSE/ { print | "sshpass -p PASSWORD ssh USER@DisplayHost killall -9 vncviewer &&  DISPLAY=:0 vncviewer -display 0 HostA:12345 && exit" }'

对于 HostB

tail -fn0 /var/log/syslog | awk '/CHANGE-FOCUSE/ { print | "sshpass -p PASSWORD ssh USER@DisplayHost killall -9 vncviewer && DISPLAY=:0 vncviewer -display 0 HostB:12345 && exit" }'

在哪里:

  • 改变焦点 - 是你的游戏生成的消息
  • DisplayHost - 带有投影仪的主机的 IP 或 DNS 名称
  • USER - 运行 XSession 的用户帐户(即您用于投影的桌面)
  • PASSORD - 该用户的密码(这不是最安全的设置,但最容易测试
  • HostA - HostA 的 IP 地址或 DNS 名称
  • HostB - HostB 的 IP 地址或 DNS 名称

PS 您可以使用 vncviewer 参数来使窗口全屏等。

我也强烈推荐通过 SSH 进行证书认证,以避免使用纯文本密码详情请见此处

  • 密码是一个独立的实用程序,您必须安装它才能使纯文本密码与 SSH 一起使用,因为它现在已被弃用。

相关内容