xshell报错:Error: Unable to initialize gtk, is DISPLAY set properly?

【问题描述】
系统:RHEL 6.7
连接方式:Xshell 5 + Xmanager

安装完codeblocks,想要测试一下,结果报错
Error: Unable to initialize gtk, is DISPLAY set properly?

codeblocks报错截图

【问题分析】

排查错误的步骤:

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,从而首先要安装包

  1. 安装X窗口包和字体包

yum -y groupinstall "X Window System" "Fonts"(安装x窗口相关包,和字体显示包)

  1. 设置隧道关联xmanager
    主要在xshell的属性设置中,然后选择隧道勾选X11转发连接,在本地需要安装xmanager


    image.png
  2. 打开新的窗口进行测试

在进行测试的时候,必须要打开新的xshell窗口进行测试,如下,会创建一个零时的授权文件。

正常情况


image.png

异常情况


image.png
image.png
  1. 查看相关的进程

    以上步骤做完之后,查看sshd的进程,会发现有相关的监听端口,下例为6011端口被监听,从而在DISPLAY的变量设置中,第一个参数表示为IP地址,冒号分割,第二个参数也就是偏移量,第三个参数表示显示的为第几个窗口。


    image.png

    image.png

你可能感兴趣的:(xshell报错:Error: Unable to initialize gtk, is DISPLAY set properly?)