问题描述
我正在使用Python 3.8 linux安装在远程桌面(VNC)上运行基于pyside2的Python GUI,并遇到了一些问题。
确实会弹出GUI ,并且出现可操作,但是,命令提示符显示以下错误:
qt.qpa.xcb: Failed to initialize XRandr
qt.qpa.xcb: X server does not support XInput 2
qt.qpa.xcb: QXcbConnection: XCB error: 1 (BadRequest),sequence: 168,resource id: 53,major code: 131 (UnkNown),minor code: 47
我没有管理员/超级用户访问权限,并且disPLAY环境变量似乎设置为:3.0(disPLAY =:3.0)(disPLAYNUM = 3)。
这似乎不是一个限制,因为我可以在远程查看器中运行其他软件界面。
我不知道这是否是预期的用例,但是,我尝试在对Python GUI的命令行调用之后附加平台VNC标志:
/usr/python/linux/bin/python /usr/python/linux/scripts/GUI.py -platform vnc
从这里开始,错误消息消失了,我得到了:
QVncServer created on port 5900
但是,这次没有显示GUI或窗口。使用屏外或最小选项也是这种情况。
解决方法
-
默认情况下,您的Qt应用程序作为已配置为充当VNC服务器的X服务器的客户端运行。 Qt应用程序不在乎也不知道VNC。它与X服务器交互,然后服务器如何将屏幕暴露给外界是无关紧要的事情。您看到的错误可能无关紧要。
-
使用VNC平台插件时,您的Qt应用程序本身将成为VNC服务器-它不再使用X服务器。屏幕上没有任何内容,因为没有屏幕。提供屏幕取决于您:使用VNC客户端连接到屏幕:)