【问题标题】:Cannot connect to X server :0.0 with a Qt application无法使用 Qt 应用程序连接到 X 服务器:0.0
【发布时间】:2010-10-13 09:55:51
【问题描述】:

在 Fedora 10 上编译。

我刚刚启动了我的第一个 qt GUI 应用程序。我使用了所有的默认设置。

它只是一个简单的形式。它构建良好,没有任何错误。但是当我尝试运行应用程序时。我收到以下消息:

Starting /home/rob/projects/qt/test1/test1/test1...
No protocol specified
test1: cannot connect to X server :0.0

感谢您的建议,

【问题讨论】:

    标签: linux qt x11


    【解决方案1】:

    造成这种情况的一般原因如下:

    1. 环境中没有设置DISPLAY。
      解决方法

      export DISPLAY=:0.0
      ./myQtCmdHere
      

      (不过,这似乎不是问题所在,正如它所说的 X 显示它试图连接的那样。此外,它并不总是 0.0,但大多数时候它是)

    2. 试图运行 X 应用程序的非授权用户
      解决方案(作为 X 拥有用户,即:您自己)

      xhost +local:root   # where root is the local user you want to grant access to. 
      

    【讨论】:

    • 只是快速跟进。这是做什么的:export DISPLAY=:0.0 以及为什么我的应用程序因此而失败?谢谢,
    • 您的显示界面运行服务器-客户端模型。 DISPLAY 告诉应用程序他们的屏幕在哪里,通常是 IP:DISPLAY.SCREEN 格式,但没有 IP 它使用 localhost。但如果条件合适,您可以在任何网络可访问的显示器上“投掷”应用程序。
    【解决方案2】:

    此外,如果您希望您的 X 服务器能够通过 TCP 接收连接,那么现在您几乎总是必须明确启用它。要测试您的服务器是否允许远程 TCP 连接,请尝试:

    远程登录 127.0.0.1 6000

    如果 telnet 能够连接,那么您的 X 服务器正在监听。如果不能,那么任何远程 X 应用程序都不会,您需要在服务器上启用远程 TCP 连接。

    【讨论】:

      【解决方案3】:

      添加到上述答案。 在 travis 为 Code2Pdf 运行测试时,我也遇到了类似的情况。 我使用xvfb-run 解决了这个问题。引用手册页,

      xvfb-run 是 Xvfb(1x) 命令的包装器,它简化了在虚拟 X 服务器环境中运行命令(通常是 X 客户端,或包含要运行的客户端列表的脚本)的任务。

      我写的脚本是:

      check_install_xvfb() { # check and install xvfb
          if hash xvfb-run 2>/dev/null; then
              :
          else
              sudo apt-get update
              sudo apt-get upgrade
              sudo apt-get install xvfb
          fi
      }
      check_install_xvfb
      export DISPLAY=localhost:1.0
      xvfb-run -a bash .misc/tests.sh
      # .misc/tests.sh is script that runs unit tests. You can replace it with something suitable to you.
      

      请忍受我的 bash 代码风格。我是一个菜鸟 bash 程序员。

      运行上述脚本对我有帮助。 您可以看到failing buildpassing build

      希望对你有帮助

      【讨论】:

        猜你喜欢
        • 2021-04-22
        • 1970-01-01
        • 1970-01-01
        • 2016-02-14
        • 1970-01-01
        • 1970-01-01
        • 2021-08-19
        • 2013-07-20
        • 2015-09-21
        相关资源
        最近更新 更多