千家信息网

linux运行x程序出现Can't open display错误怎么办

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,小编给大家分享一下linux运行x程序出现Can't open display错误怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去
千家信息网最后更新 2025年12月02日linux运行x程序出现Can't open display错误怎么办

小编给大家分享一下linux运行x程序出现Can't open display错误怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

在Linux/Unix类操作系统上, DISPLAY用来设置将图形显示到何处. 直接登陆图形界面或者登陆命令行界面后使用startx启动图形, DISPLAY环境变量将自动设置为:0:0, 此时可以打开终端, 输出图形程序的名称(比如xclock)来启动程序, 图形将显示在本地窗口上, 在终端上输入printenv查看当前环境变量, 输出结果中有如下内容:

DISPLAY=:0.0

使用xdpyinfo可以查看到当前显示的更详细的信息.

DISPLAY 环境变量格式如下host:NumA.NumB, host指Xserver所在的主机主机名或者ip地址, 图形将显示在这一机器上, 可以是启动了图形界面的Linux/Unix机器, 也可以是安装了Exceed, X-Deep/32等Windows平台运行的Xserver的Windows机器. 如果Host为空, 则表示Xserver运行于本机, 并且图形程序(Xclient)使用unix socket方式连接到Xserver, 而不是TCP方式. 使用TCP方式连接时, NumA为连接的端口减去6000的值, 如果NumA为0, 则表示连接到6000端口; 使用unix socket方式连接时则表示连接的unix socket的路径, 如果为0, 则表示连接到/tmp/.X11-unix/X0 . NumB则几乎总是0.

如果使用su username或者su - username切换到别的用户, 并且使用命令

export DISPLAY=:0.0
##(这句话可以写进.bashrc)
设置DISPLAY环境变量, 运行图形程序(如xclock)时会收到如下错误:

Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified

Error: Can't open display: :0.0


这是因为Xserver默认情况下不允许别的用户的图形程序的图形显示在当前屏幕上. 如果需要别的用户的图形显示在当前屏幕上, 则应以当前登陆的用户, 也就是切换身份前的用户执行如下命令

xhost +
你需要sux ,su不会带这个x环境的

是用root用户登录的吗?如果是,把/root/.Xauthority删除,logout,重新进入试试。

_X11TransSocketINETConnect() can't get address for localhost:6001: Name> > or service not known Error: Can't open display: localhost:1.0

解决方法:

1、看/etc/hosts中是否有127.0.0.1 localhost.localdomain localhost,没有则

配置主机名;

编辑配置文件:

/etc/hosts

127.0.0.1 localhost localhost.localdomain localhost

10.10.11.16 uatdb.aeonlife.cn uatdb

其中 10.10.11.16 为本机地址,uatdb 为主机名

2、用Oracle用户登录,设置 DISPLAY 环境变量;

export DISPLAY=your_IPaddress:0.0

注:你的_IPaddress 是A机器的IP地址

第一步:用root登陆linux,启动vnc服务;

第二步:根据vnc起来的端口,设置export DISPLAY=localhost:1(1表示vnc在第一个tty上启动的),vnc的启动信息见附件1;

第三步:执行xhost +,并且提示"access control disabled, clients can connect from any host"才正确。

linux下的操作日志如下:

[root@localhost ~]# vncserver

New 'localhost:1 (root)' desktop is localhost:1

Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/localhost:1.log

[root@localhost ~]# export DISPLAY=localhost:1
[root@localhost ~]# xhost +
access control disabled, clients can connect from any host

在设置xhost时,出现了unable的问题。

以上是"linux运行x程序出现Can't open display错误怎么办"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

图形 程序 用户 环境 运行 变量 主机 方式 机器 登陆 错误 内容 命令 地址 界面 端口 篇文章 怎么办 信息 屏幕 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 厦门帝欣网络技术公司 钜仁网络技术官方账号 steam饥荒创建服务器慢 端游我的世界进入服务器后闪退 关于网络安全周的特色活动 表格怎么查找缺少数据库 如何替换函数里面的数据库 浙江台州软件开发公司 内蒙古智慧人口系统软件开发 郑州网络安全工程师年薪多少 网络安全深似海 连接数据库异常处理 长宁区信息软件开发包括哪些 云南工程软件开发哪家好 软件开发在线报价 网络安全搭建和攻防 怎么复制.sql进数据库 丹徒新区软件开发 达梦数据库获取自增id 为什么网络安全模式没有音频 视频服务器 带宽要求 大话西游2锦绣山河服务器人多吗 怎么销毁弹性公网的腾讯云服务器 玩转校园网络技术有限公司 黑五类软件开发 文广局 网络安全应急工作 上海众道生鲜软件开发 太原软件开发培训那好 服务器主板 插多张显卡 网络安全防护设备有哪些
0