use*_*029 2 remote x11 display
我有 Ubuntu 14.04 和 Fedora 20 作为测试环境。我正在尝试通过 SSH 会话将 X 程序从 Fedora 发送到 Ubuntu。我的设置如下:
在 Ubuntu 上运行:
Xhost +IP Address of Fedora
Run Code Online (Sandbox Code Playgroud)
这将返回:
10.10.24.153 being added to access control list
Run Code Online (Sandbox Code Playgroud)
然后从 Fedora 系统运行:
DISPLAY=10.10.25.168:0.0
Run Code Online (Sandbox Code Playgroud)
这一步将 Fedora 的 Display 重定向到 Ubuntu 系统。
然后我从 Ubuntu SSH 到 Fedora。此时,当我尝试从 ssh 提示符启动一个程序时,例如 gedit,我得到了这个:(并且没有出现 gedit 窗口)
Unable to init server: Could not connect: Connection refused (gedit:7358): Gtk-WARNING **: cannot open display:
Run Code Online (Sandbox Code Playgroud)
但是,当我直接从 Fedora 启动 gedit 时,它会出现在我的 Ubuntu 系统上,尽管在 Fedora 端出现错误:
** (gedit:7372): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-77RFAr0MHI: Connection refused
Run Code Online (Sandbox Code Playgroud)
我应该能够从 ssh 会话启动基于 X 的程序并且它出现在屏幕上。有谁知道我做错了什么?
如果你想在你的ssh
会话中运行 X 应用程序,你只需要告诉ssh
承载流量。不要运行xhost
也不要覆盖DISPLAY
.
ssh -Yf remote-host some-x-application
Run Code Online (Sandbox Code Playgroud)
该-Y
标志告诉ssh
在 上创建一个DISPLAY
环境变量,remote-host
并通过加密连接传输生成的流量。该-f
标志告诉ssh
在后台执行所有这些操作,以便看起来会话已立即终止。
如果您希望在ssh
连接的末端明显运行交互式 shell,您也可以执行以下操作:
ssh -Y remote-host
...log in as necessary...
some-x-application &
another-x-application &
...etc...
wait; exit
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5806 次 |
最近记录: |