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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容