Fab*_*ian 10 ssh xorg xterm x11
我正在尝试xterm使用 ssh 在我的远程服务器(Ubuntu Server 10.04)上打开:
ssh -X name@machine xterm
Run Code Online (Sandbox Code Playgroud)
但返回的错误是:
xterm Xt error: Can't open display: :0.0`
Run Code Online (Sandbox Code Playgroud)
我用谷歌搜索并尝试了我发现的一切。仍然收到此错误。应该自动设置 DISPLAY 变量,对吗?
部分sshd_config:
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
Run Code Online (Sandbox Code Playgroud)
有什么建议吗?
如果 ssh 能够建立连接,它将设置DISPLAY为正确的值。由于您已X11DisplayOffset设置为 10(默认值),ssh 将使用从 10 开始的第一个可用显示。如果您看到一个低于 10¹ 的值,那么某些东西会干扰 ssh 设置的正常 X11 转发,至少通过覆盖DISPLAY. 值:0(或:0.0点后的部分无关紧要)表示在机器上启动的第一个显示,在典型情况下是机器控制台上的活动会话(或图形登录提示)。
您观察到的行为最可能的解释是您的一个 shell 配置文件设置了DISPLAY. 最明显的罪魁祸首是~/.bashrc(由于 bash 的怪癖,只要 bash 的父项是rshd或sshd,即使外壳不是交互式的,也会执行)。另一个定义环境变量的文件是/etc/environment. 如果是这种情况,解决方案很明显:不要设置DISPLAY在那里。(极少数情况下需要DISPLAY手动设置。)
还有其他奇异的解释。如果您将登录 shell 更改为screen(理论上一个可爱的想法,但不实用)并且您有一个强制设置DISPLAY在屏幕内的 shell 初始化文件(不是一个好主意),则可能会发生这种情况。如果您将服务器配置为接受客户端发送的环境变量( 中的AcceptEnv指令sshd_config),客户端正在发送DISPLAY,并且无法建立 X 连接,也会发生这种情况。或者,如果您通过在服务器上设置一个环境变量,它可能发生command在指令~/.ssh/authorized_keys。或者xterm可以是一个脚本。
¹或者X11DisplayOffset服务器配置中的任何值,但它几乎从未改变过默认值。
你的命令应该有效,或者至少对我有效。试试这个:
ssh -Y user@machine xterm
Run Code Online (Sandbox Code Playgroud)
编辑(1):
尝试这个:
ssh -X user@machine env
Run Code Online (Sandbox Code Playgroud)
那应该显示所有环境。里面应该有各种 SSH 的东西,还有 DISPLAY。显示应为 10.0。
你也可以尝试这个:
ssh -X user@machine DISPLAY=10.0 xterm
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
152234 次 |
| 最近记录: |