有人知道如何克隆/连接到正在运行的 xorg 服务器以软实时查看监视器/显示器显示的内容(显示器在几英里之外,但我可以通过 TCP/IP 到达它)?我有一个小脚本来获取屏幕截图,但有点受限。
#!/bin/bash
REMOTE_USER=root
IP=$1
IMAGE_FILE=/tmp/host_${IP}_`date +"%Y%m%d-%H:%M:%S"`.png
ssh root@$IP 'xwd -d :0 -root | gzip' | gunzip | convert - $IMAGE_FILE
我认为如果可能的话,当然可以很高兴地看到显示器实时显示的内容。:)
提前致谢,
亨伯
如果你想在远程机器上安装 x11vnc,你可以像这样使用它:
ssh remote_ip_address sudo x11vnc -auth /home/some_user/.Xauthority -display :0
请记住在 sshd.config 中启用 X11 转发。你需要一个 VNC 客户端。
如果您不想使用 VNC,您可以使用任何其他程序,例如 Xnest:
Xnest -geometry 1024x768 :1& DISPLAY=:1 ssh -X gnome-session
需要针对您的特定情况进行一些修改,但对于使用 xwd 的人来说,这应该不是问题。
我在机器的 bin/startvnc 中有这个:
-nopw
如果盒子上有其他用户,如果您对安全性感到偏执,请删除。我用这样的东西登录:
然后运行
startvnc
然后在我的本地机器上运行
它不像单个命令那样自动化,但无论如何我总是登录到屏幕会话,所以如果我想使用 vnc,我只需打开一个新的屏幕窗口并运行 startvnc,
也许这对于您的特定情况来说是多余的。但无论如何我都会发布它,以防其他人将来提出这个问题。
附加到 X 会话的另一种方法是在您希望远程控制的机器上设置 FreeNX。然后在您的本地计算机上,您必须运行 NX 客户端,请求影子会话。
当 NX 客户端连接到远程计算机时,您将看到可用会话的列表。如果您选择“X0(本地)”,您将能够看到和控制远程显示。
有关更多详细信息,您可以查看NX 入门(请参阅第 4.5 节“桌面共享和会话影子”)
实际上,对于像 Opensuse 11.2 这样的发行版,如果您要使用 x11vnc,那么您可能需要使用为登录管理器(gdm、kdm)创建的 .Xauthority 文件,而不是为用户本身创建的文件(类似于 /home/user/.Xauthority 左右),您可以在 Opensuse 中找到它,查看:
/var/lib/xdm/authdir/authfiles/something-name-psedorandomly-generated
如果您使用的是其他发行版,您可能应该查看 /var/lib/gdm、/var/lib/kdm 和类似的目录。