在我的 SSH 配置文件中,启用了 X 转发,并且我ssh
使用该-X
参数运行。它给了我下面的第一个错误,但最终连接了。
Failed to add the host to the list of known hosts (/home/myUserName/.ssh/known_hosts)
问题从这里开始。当我打开 ff 等 X 程序时,它会在远程计算机上打开,而不是通过转发到我的计算机。我混合了什么东西吗?如何将 X 输出转发到我的本地计算机?
两台机器都安装有 X.org 的 Linux 操作系统,具有完美运行的桌面环境。
echo $DISPLAY outputs :0
答案1
如果您使用 SSH 连接并运行 X11 应用程序,并且该 X11 应用程序显示在远程计算机上而不是通过 SSH 连接,则可能有以下三个原因。
- 该应用程序是少数几个仅在给定计算机上为给定用户启动单个实例的应用程序之一,并且它已经在不同的显示器上启动。
- 您正在附加从本地 GUI 会话启动的现有 Screen 或 Tmux 会话。程序根据
DISPLAY
环境变量的值知道应该在哪里打开窗口。在该 Screen/Tmux 内,DISPLAY
环境变量保持最初设置的值。当您重新连接到现有会话时,您需要更改它:echo $DISPLAY
在连接到终端多路复用器之前运行,并在多路复用器内设置变量。 - 您在配置文件之一(
.profile
、.bashrc
等)中做了一些顽皮的事情:您更改了DISPLAY
环境变量。除了连接到从另一个显示器启动的屏幕多路复用器的情况外,您不应该DISPLAY
手动设置。如果您通过 SSH 连接到某处并且DISPLAY
未进行设置,则意味着 SSH 连接不会转发 X11 连接,并且手动设置环境变量也无济于事。
因此,您很可能需要做的是检查配置文件并删除损坏DISPLAY
环境变量的行。