在我的 ubuntu 14.04 远程服务器上,当我尝试从终端启动 Mozilla Firefox 32.0 时,出现以下错误:
$ firefox
(process:6397): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
Error: cannot open display: :0.0
我尝试将display
其改为 1、10、11、99,但是没有成功!
一个星期以来,我一直头疼不已。任何帮助都将不胜感激。
答案1
客户端和服务器端都需要启用X11转发。
在客户端,-X
(大写 X) 选项可启用 X11 转发,并且您可以使用中的 yesssh
将其设为默认设置(对于所有连接或特定连接)。ForwardX11
~/.ssh/config
在服务器端,X11Forwarding
必须在 中指定是/etc/ssh/sshd_config
。请注意,默认为不转发(某些发行版在其默认设置中启用了转发/etc/ssh/sshd_config
),并且用户无法覆盖此设置。
该xauth
程序必须安装在服务器端。如果那里有任何 X11 程序,则很可能会xauth
出现在那里。在极少数情况下,xauth
如果安装在非标准位置,则可以通过~/.ssh/rc
(在服务器上!)调用它。
请注意,您不需要在服务器上设置任何环境变量。DISPLAY
和XAUTHORITY
将自动设置为其正确值。 如果您运行 ssh 并且DISPLAY
未设置,则意味着 ssh 未转发 X11 连接。
Requesting X11 forwarding
要确认 ssh 正在转发 X11,请检查输出中包含的行ssh -v -X
。请注意,服务器无论如何都不会回复。