问一个关于远程X的问题
我有两台linux机器,一台装的是rh9,暂且称为a,另一台装的是fc3,暂时称为b我想使用ssh来连接远程x,
先在A中测试,命令输入xhost +
然后用ssh登入到b中。
输入xterm -display a的ip地址:0
在这种情况下,可以正常在a机器中显示b的xterm
测试2,进入b机器中输入xhost +
ssh进入a机器,输入xterm -display b的ip地址:0,
测试失败,显示xterm Xt error: Can't open display: b的ip地址:0
总结一下,就是说从rh9中可以使用远程X
而在fc3中不行,
我用nmap查了一下开放的端口,发现一个问题,在rh9中有x11服务是在运行的,而在看fc3的时候是没有的。
我觉得这可能是原因所在,但是不知道怎么解决。
另外在rh9与fc3中用的分别是Xfree86和Xorg,是不是这两个的问题呢?
很想听高手指点一下,如何解决在fc3中使用远程X的问题。
为简化操作,以上的测试均停了所有的防火墙,我想在测试成功后可以通过打开防火墙的相应端口来实现正常的连接:) x用的是6000和6000往上的端口号, 如果没有打开在相应端口监听,远程的x server是联不上的. ????
可是怎么打开呢? 我怎么记得ssh X转发不需要X监听tcp端口。/etc/ssh/sshd_config有没有允许X转发。 我修改了上面配置文件中的关于X转发为yes但是,还是不行,大家谁在fc3中用过远程x啊,可不可以介绍一下啊。 我怎么记得ssh X转发不需要X监听tcp端口。/etc/ssh/sshd_config有没有允许X转发。应该是“不需要防火墙开放X端口”吧。
如果 X 以参数 -nolisten tcp 运行,则仅监听本地 UNIX SOCKET。这样ssh如何转发? 如果 X 以参数 -nolisten tcp 运行,则仅监听本地 UNIX SOCKET。这样ssh如何转发?
我也发现了,就是这个问题,可是我们应该从什么地方来修改这个参数呢?我找了好多地方都没有找到这个配置或是脚本文件在什么地方? /usr/bin/startx 不是这个,我看过了,首先在FC3中应该是/usr/X11R6/bin/startx
这个文件中的配置没有关于-nolisten参数的设置,另外我也试过了,用startx的方法系统图形界面的时候,查看ps中的/usr/X11R6/bin/X进程是没有那个-nolisten参数的
只有在init 5的情况下才有:(
那个应该在什么地方呢? 看看你的 xdm/gdm 的相关文件吧。
另外,还是要看看你的 SSH 设置,比如 ~/.ssh/config , 试试用 -X 或者 -Y 选项显式指定允许 X 转发。 我已经试过了,在level 3情况下,使用startx方式进入X后,由于没有了那个-nolisten参数,已经可以使用远程X了
但是如果启动时直接进入level 5的话,就会有那个-nolisten参数,而导致不能使用远程X 所以关键就是找到那个-nolisten参数是在什么地方设置的,问题就能解决了。可是我找不到,谁能知道啊???? 如果你的登录管理器是GDM,在 gdm.conf 里面有参数“DisallowTCP=true”, 设为 false 即可。
再找不到,grep -RIs "\-nolisten" /* 哦,是
/etc/X11/xinit/xserverrc 非常感谢大家的帮助,问题解决了,就是在gdm.conf 里面有参数“DisallowTCP=true”, 设为 false就行了。
当然我前面还修改了/etc/ssh/ssh_config的内容,ForwardX11 yes,这样子就应该是可以了。
以上的设置在FC3中测试通过。
最后还有一个小的问题,在这个过程中可以说发现了RH9与FC3的一个不同点,它们的gdm的默认配置似乎是不同的,其实在两个配置文件的段中都没有显式的设置DisallowTCP的属性,在RH9中没有这个内容,在FC3中在DisallowTCP=true前面是加了#的,也就是说是注释性的内容。但是在实际效果上,却是一个允许远程连接(RH9),一个不允许(FC3)。
我没有测试如果在RH9中的段中加入DisallowTCP=true会怎么样,大家可以试一下啊。看看在RH9中是不是支持这个选项。
最后,再次对大家的帮助表示感谢
页:
[1]