在日常使用linux操作系统进行图形界面显示的时候,经常使用到DISPLAY这个概念
DISPLAY=:0.0
invalidDisplay::xtInitialize::XtToolkitError::Can't open display
同理,使用-IS 或者-Is或者-XF参数,同样会报DISPLAY相关的error
经过验证在一下情况会出现此类问题:
1、Centos/Rehdat6的操作系统,无论是什么桌面,都会出现此类问题
2、Centos/Redhat7的操作系统,使用默认的gnome不会出现此类问题
3、Centos/Redhat7的操作系统,切换lightdm及xfce桌面会出现此类问题
经过和一些朋友的讨论。得出结果,是gdm或者lightdm的配置问题导致X程序在启动的时候配置或默认了-nolisten tcp参数导致。
使用命令查看具体内容,此处tty代表为控制台登录,如果是其他方式登录,默认显示为pts
ps -ef|grep X |grep tty
如何解决:
解决此问题需要配置桌面管理器,此处注意,不是桌面,而是桌面管理器,常见的桌面管理器为gdm或者lightdm
1、此问题是gdm的配置,解决如下
/etc/gdm/custom.conf
[security]
DisallowTCP=false
2、此问题是lightdm的配置,解决如下
/etc/lightdm/lightdm.conf
[SeatDefaults]
xserver-allow-tcp=true
xserver-command=X -listen tcp
配置后,建议重启服务器
启动登录后,使用命令查看,已经没有-nolisten tcp参数
使用命令查看X server是否处在监听状态:
netstat -anp |grep X
查看到监听的状态即可。配置完毕,再次使用bsub提交即可正常显示。
网友留言: