我已通过 ssh 登录到远程计算机并使用命令
firefox --display:192.168.1.2:0
192.168.1.2
本地机器的 IP 地址在哪里。
但它说Error: cannot open display: 192.168.1.2:0
“
答案1
编辑/etc/ssh/sshd_config在远程机器上。它应该包含以下内容:
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes
重新启动 sshd。
像往常一样通过 ssh 登录远程,但不要忘记使用-X选项(启用 X11 转发)。使用-C(压缩)也是推荐的,因为much slower
无论如何,通过 ssh 访问 X 比通过 telnet 访问 X 要快得多。登录后,无需设置展示自己输入
$ echo $DISPLAY
它应该显示这个奇怪的值:
localhost:10.0
这很奇怪但很完美。现在你可以直接输入
firefox
并等待其窗口打开。等待的真正含义是等待因为除非远程机器离您很近,否则需要一段时间。请耐心等待。
答案2
如果从类 Unix 主机(例如 ubuntu)运行,请尝试
ssh -X
根据 ssh 手册页
-X Enables X11 forwarding. This can also be specified on a per-
host basis in a configuration file.
X11 forwarding should be enabled with caution. Users with the
ability to bypass file permissions on the remote host (for the
user's X authorization database) can access the local X11 dis-
play through the forwarded connection. An attacker may then be
able to perform activities such as keystroke monitoring.
For this reason, X11 forwarding is subjected to X11 SECURITY
extension restrictions by default. Please refer to the ssh -Y
option and the ForwardX11Trusted directive in ssh_config(5) for
more information.
如果从 Windows 运行,请确保有 Xming 之类的 X 会话工具。
对于 Xming,在 Xming 中设置显示号(例如 1234)允许所有主机,指示 putty 使用显示号 1234,并检查“转发 X11 连接”。