这几天需要调试X-server的东西,需要在远端机器romote上进行图形界面的展示。
关于X-server的东西我就不说了,毕竟如果你已经遇到了这个错误,说明你已经有所了解了。
假定机器A是客户端,机器B是服务端(IP地址为:168.12.89.8)。下面是具体的配置步骤:
1。打开客户端的终端,进行环境变量的配置,使用如下命令:
export DISPLAY=168.12.89.8:0.0
2。打开服务端的终端,进行一系列的配置。首先执行
xhost +
使得允许从别的机器连接到此机器。
3。编辑服务端的配置文件 /etc/X11/xinit/xserverrc,找到
exec /usr/bin/X -nolisten tcp "$@"
修改为
exec /usr/bin/X "$@"
目的是为了保证服务端能够监听tcp端口。
4。编辑服务端的配置文件 /etc/kde4/kdm,找到
ServerArgsLocal=-nolisten tcp
修改为
ServerArgsLocal=
5。编辑服务器的配置文件 /etc/gdm3/daemon.conf,
在security小节增加如下内容:
DisallowTCP=false
在xdmcp小节增加如下内容:
Enable=true
至此,客户端和服务端的配置都已经修改完毕。重启启动服务端,打开终端,输入命令:
netstat -an | grep 6000
查看是不是已经在监听 6000 端口。如果是,恭喜你!离成功很近了!
在客户端执行图形化软件,比如 gedit。可以看到在服务端的界面上显示了。
备注:本文所涉及的平台是 Debian 6,内核版本号是 2.6.32
参考的文章链接:Linux 下 DISPLAY环境变量的作用