如何连接远程X-Server(通过ssh登录)

如何连接远程X-Server(通过ssh登录)

当我登录到另一台主机(例如通过 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 客户端?

相关内容