无法在RHEL上打开显示

fan*_*yna 5 linux x11 firefox redhat

我正在尝试使用RHEL 6.2从桌面客户端(mydesktop)ssh到安装了RHEL 5.8的服务器(myserver).我有组在远程服务器上安装了"X Window",远程服务器上的DISPLAY变量也设置为localhost:0.0,但我还是无法启动firefox.连接命令是

$ ssh -X -l myname myserver
Run Code Online (Sandbox Code Playgroud)

错误消息是

$ firefox
Error: cannot open display: localhost:0.0
Run Code Online (Sandbox Code Playgroud)

我尝试在myserver上执行命令

$ xhost +localhost
Run Code Online (Sandbox Code Playgroud)

但它给了我一个错误信息

xhost:  unable to open display "localhost:0.0"
Run Code Online (Sandbox Code Playgroud)

我想提到三种现象

  1. mydesktop的另一个用户可以在登录myserver后启动firefox.
  2. 当我远程登录到另一台服务器时,我能够启动firefox:myserver2.
  3. firefox只是一个例子.一般来说,我无法启动任何x窗口程序.

我不知道发生了什么事.请帮我.


这是我的问题的更新.这个问题"部分地"解决了.我做的是从我的".bashrc"文件中删除"export DISPLAY == localhost:0.0",注销然后再次登录,我可以启动firefox!


然而,这不是故事的结局.我有一个新问题:$ sudo wireshark

不起作用.这是错误消息:

[myself@myserver ~]$ sudo wireshark
debug1: client_input_channel_open: ctype x11 rchan 2 win 65536 max 16384
debug1: client_request_x11: request from 127.0.0.1 46595
debug1: channel 1: new [x11]
debug1: confirm x11
debug1: client_input_channel_open: ctype x11 rchan 3 win 65536 max 16384
debug1: client_request_x11: request from 127.0.0.1 46596
debug1: channel 2: new [x11]
debug1: confirm x11
X11 connection rejected because of wrong authentication.
debug1: channel 2: free: x11, nchannels 3
The application 'wireshark' lost its connection to the display localhost:10.0;
most likely the X server was shut down or you killed/destroyed
the application.
debug1: channel 1: FORCE input drain
Run Code Online (Sandbox Code Playgroud)

为什么我不能在sudo下启动x窗口?

fan*_*yna 5

通过执行以下两项操作可以解决问题:

  1. export DISPLAY=Localhost:10.0从我的.bashrc文件中注释掉.我想这是因为我覆盖了DISPLAY环境变量的默认值.通过这样做,我可以在我的常规帐户下启动'firefox'.
  2. 注销,登录并添加export XAUTHORITY='/home/myself/.xauthority到我的.bashrc文件中.然后注销并再次登录,以便我可以运行sudo wireshark.

-v诊断问题时,ssh命令中的选项非常有用.