ubutun启动图形应用提示Could not connect to display :0

用root身份运行gui时提示Could not connect to display :0 Could not connect to any X display. 之类的信息,
在这里插入图片描述

修改DISPLAY=:0.0无用
修改DISPLAY=:1.0无用
修改DISPLAY=:2.0无用

后来发现说要执行xhost +就可以,但是这里有一个点,要另起一个终端,以登录系统的身份执行才行,不能在sudo的情况下执行,否则怎么改都不成功

这里在另起终端后执行xhost +就可以启动图形应用了
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个错误提示通常出现在使用Qt进行图形界面编程时,Qt无法连接到显示器上的X11服务器。导致该错误的原因可能有以下几种: 1. 没有正确设置DISPLAY环境变量:X11服务器使用DISPLAY环境变量来指定要连接的显示器。如果没有正确设置DISPLAY环境变量,Qt无法找到要连接的显示器。你可以通过在命令行输入"echo $DISPLAY"来检查DISPLAY环境变量是否设置正确。 2. X11服务器未启动:Qt需要连接到X11服务器才能创建图形界面。如果X11服务器未启动,Qt无法连接到显示器并创建图形界面。你可以尝试在命令行输入"xhost +"来启动X11服务器。 3. 没有权限连接到X11服务器:如果当前用户没有权限连接到X11服务器,Qt将无法连接到显示器。你可以尝试以root权限运行你的程序,或者将当前用户添加到X11服务器的访问权限列表中。 4. X11服务器配置问题:有时X11服务器的配置可能会导致Qt无法连接到显示器。你可以尝试重新配置X11服务器,或者查看X11服务器的日志以获取更多详细的错误信息。 要解决这个错误,你可以先检查DISPLAY环境变量是否正确设置,确保X11服务器已启动并且当前用户有权限连接到X11服务器。如果问题仍然存在,可以尝试重新配置X11服务器或查看相关的日志文件来获得更多的信息。 ### 回答2: 这个错误信息通常出现在运行基于Qt框架的程序时,它意味着程序无法连接到显示器的显示设备。 在Ubuntu操作系统上,Qt通过X Window System进行图形显示的,而":0"表示连接到显示器的第一个设备。当出现"could not connect to display :0"的错误提示时,可能有以下几种原因和解决方法: 1. X服务器未正常启动:可以尝试重新启动X服务器,或重启整个系统。 2. 缺少X11的运行环境:如果在命令行中运行的程序,可能需要安装运行Qt基于X11的应用程序所需的库,可以使用以下命令安装: ``` sudo apt-get install libx11-dev ``` 3. 没有正确设置环境变量:确保DISPLAY环境变量已经设置为正确的值,可以使用以下命令进行检查: ``` echo $DISPLAY ``` 如果显示为空或不是":0",可以通过以下命令进行设置: ``` export DISPLAY=:0 ``` 4. 使用SSH远程连接:如果通过SSH远程连接到Ubuntu,需要启用X11转发选项("-X"或"-Y"),例如: ``` ssh -X user@hostname ``` 确保远程服务器已经启用X11转发选项。 如果上述方法仍然无法解决问题,可能是其他更复杂的原因导致,比如驱动问题或硬件兼容性问题。可以尝试在其他的Ubuntu系统上运行程序,或者查阅相关文档、社区或论坛寻找更多的解决方案。 ### 回答3: 该错误信息是由于在 Ubuntu启动 Qt 应用时,没有连接到显示器导致的。 在 Linux 系统上,图形界面通常使用 X11 展示。而当你在终端(没有图形界面)中执行 Qt 应用程序时,它会尝试连接到默认显示器 :0,但由于没有显示器,连接失败,因此会发生此错误。 要解决此问题,有几个可能的方式: 1. 使用 ssh -X 连接到远程主机:如果你是在通过 ssh 连接到远程主机,并且想在远程主机上运行 Qt 应用程序并将它的界面显示在你的本地主机上,你需要使用 ssh -X 命令进行连接。这样,你就能够在本地主机上显示 Qt 应用程序的界面了。 2. 检查 DISPLAY 变量的设置:确保在执行 Qt 应用程序之前,在终端中设置了正确的 DISPLAY 环境变量。你可以通过运行 echo $DISPLAY 命令来检查它的值。如果它没有设置为 :0,那么可以执行 export DISPLAY=:0 来设置它。 3. 使用虚拟桌面:如果你在没有显示器的环境中工作,可以尝试使用虚拟桌面来解决问题。一些工具如 Xvfb(X Virtual Framebuffer)可以让你在没有物理显示器的情况下模拟一个虚拟的 X11 显示器。你可以按照相关教程使用这些工具来创建和配置虚拟桌面,并设置 DISPLAY 环境变量以连接到该虚拟显示器。 总结起来,该错误是由于 Qt 应用程序无法连接到显示器导致的。解决方法包括使用 ssh -X 进行远程连接,检查 DISPLAY 环境变量的设置,以及使用虚拟桌面来模拟显示器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值