当我登录到另一台主机(例如通过 ssh)时,如何连接到该机器的 XServer(同一用户登录并运行桌面(gnome))?
您可能会问我希望怎么做:有些命令不会打开 X-Window,例如 xinput、xhost 等,并且在某些情况下您希望从远程运行它们。
答案1
我找到了问题所在。手动将 DISPLAY 设置为 localhost:0 不起作用,因为 XServer 不监听 TCP 连接(Ubuntu 10.04 默认配置)。
然而,设置
export DISPLAY=:0
成功了。
答案2
您需要在 ssh 会话中设置显示环境变量。最有可能的是,X 服务器正在显示器 0 上运行。因此,在 ssh 会话中(假设是类似 Bourne 的 shell),键入:
export DISPLAY=localhost:0
xclock
您应该在远程 X 服务器显示屏上看到时钟。
注意:如果您的 ssh 会话以在 X 服务器上启动桌面会话的同一用户身份登录,则此操作应该“有效”。如果您以其他用户身份登录,则可能需要从桌面会话的用户帐户获取 xauth cookie。
答案3
如果您使用命令行 ssh,并且假设您使用的是 Linux:
ssh -X host
然后尝试类似的事情:
xclock
您应该会看到一个时钟,但它是在远程计算机上运行的。
注意:仅当在 sshd 配置文件中打开 x 转发时,此功能才会起作用。
当然,这只是一个快速概述 - 您能发布更多信息吗,例如您拥有什么操作系统以及您正在使用什么 SSH 客户端?