Linux 无法使用Qt应用程序连接到X服务器:0.0
在Fedora 10上编译 我刚刚启动了我的第一个QtGUI应用程序。我使用了所有的默认设置 这只是一个简单的形式。它构建得很好,没有任何错误。但是当我尝试运行应用程序时。我得到以下信息:Linux 无法使用Qt应用程序连接到X服务器:0.0,linux,qt,x11,Linux,Qt,X11,在Fedora 10上编译 我刚刚启动了我的第一个QtGUI应用程序。我使用了所有的默认设置 这只是一个简单的形式。它构建得很好,没有任何错误。但是当我尝试运行应用程序时。我得到以下信息: Starting /home/rob/projects/qt/test1/test1/test1... No protocol specified test1: cannot connect to X server :0.0 感谢您的建议,造成这种情况的一般原因如下: 未在环境中设置显示。 解决方案: ex
Starting /home/rob/projects/qt/test1/test1/test1...
No protocol specified
test1: cannot connect to X server :0.0
感谢您的建议,造成这种情况的一般原因如下:
解决方案:
export DISPLAY=:0.0
./myQtCmdHere
(不过,这一个似乎不是问题所在,正如它所说的,X显示它试图连接到哪个。此外,它并不总是0.0,但大多数情况下都是)解决方案(作为拥有X的用户,即:您自己)
此外,如果您希望您的X服务器能够通过TCP接收连接,那么现在您几乎必须始终显式地启用此功能。要测试您的服务器是否允许远程TCP连接,请尝试: telnet 127.0.0.1 6000 如果telnet能够连接,那么您的X服务器正在侦听。如果不能,那么任何远程X应用程序也不能,您需要在服务器上启用远程TCP连接。添加上述答案。 我在特拉维斯进行测试时也遇到了类似的情况。 我用计算机解决了这个问题。引用主页上的话 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代码风格。我是一个noobbash程序员
运行上面的脚本对我有帮助。
你可以看到和
希望有帮助只是快速跟进。这是做什么的:export DISPLAY=:0.0,为什么我的应用程序会因此失败?谢谢,您的显示界面运行的是服务器-客户端模式。DISPLAY告诉应用程序屏幕的位置,通常是IP:DISPLAY.screen格式,但如果没有IP,则使用localhost。但在适当的条件下,您可以在任何网络可访问的显示器上“抛出”和应用程序。
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.