一、问题分析
提前申明:
本次实验使用REHL 8 进行操作!
客户机 A 为X-Client ,即远程X的客户端。
服务机 B 为X-Server,即远程X的服务端。
问题的所有操作均在已经配置好Xorg的前提下进行的,不知道不配置会有什么影响,可以先尝试,如果按照下面的解决方法不行,再配置也行,下面给出配置方法。
前提:Xorg配置方法:
确保服务机B在控制台页面,如果没有运行以下代码:
init 3
执行以下命令(不能在图形界面(也就是运行等级5)执行,必须在控制台(运行等级3)下执行:
Xorg -configure
有生成以下文件即可,然后接着下一步!
输入以下命令,测试服务器!测试过程会黑屏,但通过切换虚拟控制台tty1即可看到执行结果。
X -config /root/xorg.conf.new
按Ctrl+C即可退出测试,这是可以看到如下语句!!
代表服务器测试成功,这时只要复制一下配置文件即可!
cp /root/xorg.conf.new xorg.conf
最后reboot重启一下
reboot
1、Xeyes报错只包含一个Error
解决方法:
第一步:在服务机B图形界面输入密码界面(这里以root用户登录)下一步的左边有一个小齿轮,切换显示服务器为第二个经典X11显示服务器 。
第二步:在服务机B检查X-Server运行情况,如果和下图一样是非监听状态则继续完成第二步,如果不是非监听状态,则跳到第三步。
ps -ef | grep X
第三步:修改Xorg服务开启tcp/ip监听,允许其它机器客户端连接。输入如下命令,修改gdm服务的相关配置
vim /usr/share/gdm/gdm.schemas
修改结果如下:
重启服务或者重启服务机B
reboot
服务机B重启后,再次查看进程状态,发现其处于监听态,这样就完成开启TCP监听了,接着第四步。
ps -ef | grep X
第四步:关闭服务机B防火墙,防火墙会拦截请求,造成失败访问
systemctl stop firewalld.service
查看防火墙状态 ,inactive代表关闭状态。
第五步: 测试连接,使用客户机A(也就是另一台虚拟机),连接服务机B的X-Server(前提二者得先ping通啊,ping不通的话,自行去解决!),执行以下代码,第三个参数IP地址更换成你X-Server所在虚拟机的服务器IP,后面的:0不变。
xeyes -display 192.168.87.129:0
语法:xeyes -display IP地址:0
报错多了一个,这是值得高兴的!如果你直接能用,那你更幸运了,如果和我一样还不能用,那继续解决错误2吧 !
2、Xeyes报错包含其他错误
这个错误多半是因为服务机B的X-Server拒绝访问了,这个问题很好解决,只要在X-Server所在的虚拟机B输入Xhost + 就行,也就是将ACL关闭,允许所有连接!
xhost +
客户机A上测试连接
xeyes -display 192.168.87.129:0
语法:xeyes -display IP地址:0
服务机B成功出现小眼睛!
二、结论总结
遇到问题比较难处理的是X服务器默认关闭了TCP连接,导致客户机无法连接上服务器,造成远程X无法使用的问题,这次实验关键是要对X服务器允许TCP连接,去修改gdm的配置文件,其他问题都是小问题。
三、参考资料
Xorg服务开启tcp/ip监听,允许其它机器客户端连接-CSDN博客