![远程克隆 xorg 会话](https://linux22.com/image/502575/%E8%BF%9C%E7%A8%8B%E5%85%8B%E9%9A%86%20xorg%20%E4%BC%9A%E8%AF%9D.png)
有人知道如何克隆/连接到正在运行的 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
我认为如果可能的话,以软实时方式查看显示屏上显示的内容会很好。:)
提前致谢,
汉伯
答案1
我的机器的 bin/startvnc 中有这个:
x11vnc -display :0 -localhost -nopw -clear_mods
如果盒子上有其他用户,-nopw
如果您对安全性很担心,请将其删除。
我使用如下方式登录:
ssh -C -L 5904:localhost:5900 box
然后运行startvnc
然后在我的本地机器上运行
xvncviewer 0:1
它不像单个命令那样自动化,但无论如何我总是登录到屏幕会话,所以如果我想使用 vnc,我只需打开一个新的屏幕窗口并运行 startvnc,
答案2
如果您想在远程机器上安装 x11vnc,您可以像这样使用它:
ssh 远程 IP 地址 sudo x11vnc -auth /home/some_user/.Xauthority -display :0
记得在 sshd.config 中启用 X11 Forwarding。并且你需要一个 VNC 客户端。
如果您不想使用 VNC,您可以使用任何其他程序,例如 Xnest:
Xnest -geometry 1024x768:1&DISPLAY=:1 ssh -X gnome-session
针对您的特殊情况,需要进行一些修改,但对于使用 xwd 的人来说,这应该不是问题。
答案3
也许这对您的特定情况来说有些过分。但我还是会发布它,以防将来对其他遇到此问题的人有用。
连接到 X 会话的另一种方法是在您希望远程控制的机器上设置 FreeNX。然后在您的本地机器上运行 NX 客户端,请求影子会议。
当 NX 客户端连接到远程计算机时,您将看到可用会话列表。如果您选择“X0(本地)”,您将能够查看和控制远程显示。
更多详情,请参阅NX 入门(参见第 4.5 节“桌面共享和会话影子”)
答案4
实际上,对于某些发行版(例如 Opensuse 11.2),如果您要使用 x11vnc,那么您可能需要使用为登录管理器(gdm、kdm)创建的 .Xauthority 文件,而不是为用户本身创建的文件(类似于 /home/user/.Xauthority 等),您可以在 Opensuse 中找到它,查看:
/var/lib/xdm/authdir/authfiles/something-name-psedorandomly-generated
- 可能您应该在尝试使用 .Xauthority 文件之前清理此目录(它将是许多以前为以前的 X 会话创建的身份验证文件),关闭 X 然后重新启动它,之后,您会发现一个新文件,这是最近启动的新 X 会话的实际授权。
如果您正在使用其他发行版,您可能应该查看 /var/lib/gdm、/var/lib/kdm 和类似的目录。