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

Ian*_*anH 8 linux ssh xorg remote

当我登录到另一台主机(例如通过 ssh)时,我如何连接到该机器的 XServer(同一用户登录并运行桌面(gnome))?

您可能会问我希望这样做的方式:有些命令不会打开 X-Window,例如 xinput、xhost 等,并且在某些情况下您希望从远程运行它们。

Ian*_*anH 11

我发现了问题。手动将 DISPLAY 设置为 localhost:0 不起作用,因为 XServer 不侦听 TCP 连接(默认 Ubuntu 10.04 配置)。

但是,设置

export DISPLAY=:0
Run Code Online (Sandbox Code Playgroud)

诀窍。


eri*_*hui 6

您需要在 ssh 会话中设置显示环境变量。最有可能的是,X 服务器在显示器 0 上运行。因此在 ssh 会话中(假设是类似 Bourne 的 shell),键入:

export DISPLAY=localhost:0
xclock
Run Code Online (Sandbox Code Playgroud)

您应该会在远程 X 服务器显示屏上看到时钟。

注意:如果您的 ssh 会话以在 X 服务器上启动桌面会话的同一用户身份登录,这应该“正常工作”。如果您以其他用户身份登录,则可能需要从桌面会话的用户帐户获取 xauth cookie。


Nat*_*ams 5

如果您使用命令行 ssh,并假设您使用的是 Linux:

ssh -X host
Run Code Online (Sandbox Code Playgroud)

然后尝试类似:

xclock
Run Code Online (Sandbox Code Playgroud)

您应该会看到一个时钟,但它正在远程计算机上运行。

注意:这仅在 sshd 配置文件中打开 x 转发时才有效。

当然,这只是一个快速概述 - 您能否发布更多信息,例如您拥有的操作系​​统以及您使用的 SSH 客户端?