【问题描述】
系统:RHEL 6.7
连接方式:Xshell 5 + Xmanager
安装完codeblocks,想要测试一下,结果报错
Error: Unable to initialize gtk, is DISPLAY set properly?
【问题分析】
排查错误的步骤:
1、检查服务器端是否允许X11Forwarding(/etc/ssh/sshd_config文件中“X11Forwarding=yes”)
2、检查$DISPLAY是否为本机的IP地址
3、检查XShell是否允许X11Forwarding(http://www.netsarang.com/tutorial/xshell/1018/Using_X11_forwarding)
4、检查相关包和字体显示是否有安装
【解决方案】
image.png
直接使用xclock进行测试,出现无法打开显示设备,这个主要是没有X window的相关包组或者是没有进行关联xmanager,从而首先要安装包
- 安装X窗口包和字体包
yum -y groupinstall "X Window System" "Fonts"(安装x窗口相关包,和字体显示包)
-
设置隧道关联xmanager
主要在xshell的属性设置中,然后选择隧道勾选X11转发连接,在本地需要安装xmanager
image.png -
打开新的窗口进行测试
在进行测试的时候,必须要打开新的xshell窗口进行测试,如下,会创建一个零时的授权文件。
正常情况
image.png
异常情况
image.png image.png
-
查看相关的进程
以上步骤做完之后,查看sshd的进程,会发现有相关的监听端口,下例为6011端口被监听,从而在DISPLAY的变量设置中,第一个参数表示为IP地址,冒号分割,第二个参数也就是偏移量,第三个参数表示显示的为第几个窗口。
image.png
image.png
网友评论