解决xhost:unable to open display""的问题

解决Linux下X-Server显示问题
本文介绍了如何解决Linux系统中X-Server无法显示图形界面的问题,主要讲解了DISPLAY环境变量的设置方法及其作用,并提供了xhost命令的正确使用方式。
 
2012-08-10 09:22:39      我来说两句        
收藏  我要投稿

解决xhost:unable to open display""的问题
linux系统下如果需要打开X-Server的,需要设置显示器位置.
简单的xhost+命令提示我们unable to open display "";这个标识DISPLAY环境变量没有设置.
DISPLAY变量是用来设置将图形显示到何处.比如CENTOS,你用图形界面登录进去,DISPLAY自动设置为DISPLAY=:0.0表示显式到本地监视器.
那么通过终端工具(例如:putty)进去,运行图形界面的程序,如果没有设置,系统是不允许程序启动的.  www.2cto.com 
如果你不想在其他地方显式图形,只是运行一些后台服务程序,那么你需要做一下操作:
export DISPLAY=:0.0
来设置显式方式.
比如上面的xhost +,在设置好DISPLAY之后,就会输出:
[root@localhost lib]# xhost +
access control disabled, clients can connect from any host
另外:使用xdpyinfo这个命令可以查看显式系统的具体信息.
在CentOS系统上遇到`xhost: unable to open display`错误通常是当你试图通过X Window System远程访问图形界面时发生的。这个问题通常发生在没有配置好 DISPLAY 环境变量,或者防火墙阻止了 X11 的通信。 以下是解决这个问题的一些步骤: 1. **配置DISPLAY环境变量**: - 打开终端并添加 `export DISPLAY=localhost:0`,这会告诉你的系统使用本地显示服务器(`localhost:0`代表默认显示器)。如果你在其他计算机上尝试连接,可能会需要将其替换为正确的主机名加端口组合。 - 或者永久地设置它,可以编辑~/.bashrc或~/.bash_profile文件,在文件底部添加上述行然后运行`source ~/.bashrc`或重启终端使设置生效。 2. **检查防火墙**: - 使用firewalld的话,可以通过 `sudo firewall-cmd --add-port=6000/tcp` 开放X11协议的6000端口,并运行 `sudo firewall-cmd --reload` 使其立即生效。 - 对于iptables,可以类似地打开对应端口并应用规则。 3. **登录验证**: - 如果是SSH到远程机器并尝试`ssh -Y user@remote_host`,使用 `-Y` 参数允许转发 X11 连接。 4. **验证Xauth**: - 确保你在远程机器上已经设置了Xauth,如果没有,安装并配置它。例如,`apt-get install xauth` (如果是基于Debian的发行版)。 5. **SSH密钥对**: - 使用SSH密钥对可以避免密码交互,减少安全风险,有助于处理此问题。 如果以上步骤都无法解决问题,可能是由于网络限制或其他系统级设置导致的。这时,你可能需要联系系统管理员或者查看详细的日志以获取更多信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值