QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 981|回复: 14

问一个关于远程X的问题

[复制链接]
发表于 2005-5-23 09:06:55 | 显示全部楼层 |阅读模式
我有两台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的问题。

为简化操作,以上的测试均停了所有的防火墙,我想在测试成功后可以通过打开防火墙的相应端口来实现正常的连接:)
发表于 2005-5-23 12:31:53 | 显示全部楼层
x用的是6000和6000往上的端口号, 如果没有打开在相应端口监听,远程的x server是联不上的.
回复

使用道具 举报

 楼主| 发表于 2005-5-27 11:44:58 | 显示全部楼层
????
可是怎么打开呢?
回复

使用道具 举报

发表于 2005-5-27 13:24:48 | 显示全部楼层
我怎么记得ssh X转发不需要X监听tcp端口。/etc/ssh/sshd_config有没有允许X转发。
回复

使用道具 举报

 楼主| 发表于 2005-6-1 08:26:37 | 显示全部楼层
我修改了上面配置文件中的关于X转发为yes但是,还是不行,大家谁在fc3中用过远程x啊,可不可以介绍一下啊。
回复

使用道具 举报

发表于 2005-6-1 12:32:43 | 显示全部楼层
[quote:2496f36cab="fakeroot"]我怎么记得ssh X转发不需要X监听tcp端口。/etc/ssh/sshd_config有没有允许X转发。[/quote]应该是“不需要防火墙开放X端口”吧。
如果 X 以参数 -nolisten tcp 运行,则仅监听本地 UNIX SOCKET。这样ssh如何转发?
回复

使用道具 举报

 楼主| 发表于 2005-6-1 12:44:44 | 显示全部楼层
如果 X 以参数 -nolisten tcp 运行,则仅监听本地 UNIX SOCKET。这样ssh如何转发?

我也发现了,就是这个问题,可是我们应该从什么地方来修改这个参数呢?我找了好多地方都没有找到这个配置或是脚本文件在什么地方?
回复

使用道具 举报

发表于 2005-6-1 13:20:54 | 显示全部楼层
/usr/bin/startx
回复

使用道具 举报

 楼主| 发表于 2005-6-1 13:31:40 | 显示全部楼层
不是这个,我看过了,首先在FC3中应该是/usr/X11R6/bin/startx
这个文件中的配置没有关于-nolisten参数的设置,另外我也试过了,用startx的方法系统图形界面的时候,查看ps中的/usr/X11R6/bin/X进程是没有那个-nolisten参数的
只有在init 5的情况下才有:(
那个应该在什么地方呢?
回复

使用道具 举报

发表于 2005-6-1 13:57:42 | 显示全部楼层
看看你的 xdm/gdm 的相关文件吧。

另外,还是要看看你的 SSH 设置,比如 ~/.ssh/config , 试试用 -X 或者 -Y 选项显式指定允许 X 转发。
回复

使用道具 举报

 楼主| 发表于 2005-6-1 14:01:13 | 显示全部楼层
我已经试过了,在level 3情况下,使用startx方式进入X后,由于没有了那个-nolisten参数,已经可以使用远程X了
但是如果启动时直接进入level 5的话,就会有那个-nolisten参数,而导致不能使用远程X
回复

使用道具 举报

 楼主| 发表于 2005-6-1 14:02:14 | 显示全部楼层
所以关键就是找到那个-nolisten参数是在什么地方设置的,问题就能解决了。可是我找不到,谁能知道啊????
回复

使用道具 举报

发表于 2005-6-1 14:13:08 | 显示全部楼层
如果你的登录管理器是GDM,在 gdm.conf 里面有参数“DisallowTCP=true”, 设为 false 即可。

再找不到,grep -RIs "\-nolisten" /*
回复

使用道具 举报

发表于 2005-6-1 14:20:25 | 显示全部楼层
哦,是

/etc/X11/xinit/xserverrc
回复

使用道具 举报

 楼主| 发表于 2005-6-1 15:38:20 | 显示全部楼层
非常感谢大家的帮助,问题解决了,就是在gdm.conf 里面有参数“DisallowTCP=true”, 设为 false就行了。
当然我前面还修改了/etc/ssh/ssh_config的内容,ForwardX11 yes,这样子就应该是可以了。
以上的设置在FC3中测试通过。

最后还有一个小的问题,在这个过程中可以说发现了RH9与FC3的一个不同点,它们的gdm的默认配置似乎是不同的,其实在两个配置文件的[security]段中都没有显式的设置DisallowTCP的属性,在RH9中没有这个内容,在FC3中在DisallowTCP=true前面是加了#的,也就是说是注释性的内容。但是在实际效果上,却是一个允许远程连接(RH9),一个不允许(FC3)。
我没有测试如果在RH9中的[security]段中加入DisallowTCP=true会怎么样,大家可以试一下啊。看看在RH9中是不是支持这个选项。

最后,再次对大家的帮助表示感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-5 11:27 , Processed in 0.108253 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表