远程服务器连接出现qt.qpa.plugin: Could not find the Qt platform plugin xcb in 和: cannot connect to X server问题

目录

一、问题描述

二、解决方法

1. 安装vcxsrv之后打开XLauncher进行配置

2. 配置xshell

3. 把plugs文件夹进行移动

4. 把opencv挑一个低版本重新下载一下

5. 服务器终端操作

6.pycharm操作

7. 运行成功!!!

三、问题小结


一、问题描述

所用环境:

  • 学校远程ubuntu服务器
  • xshell
  • pycharm

         我需要运行一个和学校服务器连接并且需要用到OpenCV和cv中的imshow方法的代码,然后进行图片显示框的弹出,运行时出现了如下问题。 


         查阅了资料之后发现是因为远程连接服务器没法把图片进行回传,尝试过的解决方案:

  1. 需要使用sudo命令在服务器终端进行一些包的安装,但是我是学校服务器,非root用户无法使用sudo指令;
  2. 然后又说要下载XManager或者MobaXterm等其他支持图形回传的远程软件,但是后续操作也需要在服务器上进行sudo命令的配置,我也操作不了;
  3. 进行了pyqt5和opencv的uninstall和install,换了版本也不行。

   后来我找到一个免费的软件vcxsrv,可以完成远程服务器的图片回传,成功解决了问题。

 

二、解决方法

使用vcxsrv使远程服务器的显示内容显示到本地windows上。

1. 安装vcxsrv之后打开XLauncher进行配置

VcXsrv+putty远程访问linux图形界面_vcxserv_jdzzgtc的博客-CSDN博客

  • 打开xlauncher之后选multiple windows,然后一定要把下面的display number改成 

 远程服务器连接出现qt.qpa.plugin: Could not find the Qt platform plugin xcb in 和: cannot connect to X server问题_第1张图片

  •  选择 start no client

 远程服务器连接出现qt.qpa.plugin: Could not find the Qt platform plugin xcb in 和: cannot connect to X server问题_第2张图片

  •  把最后一项也勾选上

远程服务器连接出现qt.qpa.plugin: Could not find the Qt platform plugin xcb in 和: cannot connect to X server问题_第3张图片

  •  完成

远程服务器连接出现qt.qpa.plugin: Could not find the Qt platform plugin xcb in 和: cannot connect to X server问题_第4张图片

  • 完成后XManager就会作为小窗口运行在后台 

 

2. 配置xshell

  • 右击你的会话然后选择属性

远程服务器连接出现qt.qpa.plugin: Could not find the Qt platform plugin xcb in 和: cannot connect to X server问题_第5张图片

  •  把在隧道中选择转发X11到X DISPLAY(D):localhost:0.0

远程服务器连接出现qt.qpa.plugin: Could not find the Qt platform plugin xcb in 和: cannot connect to X server问题_第6张图片

 

3. 把plugs文件夹进行移动

(这一步我也做了,但是不知道是不是这一步起了作用,大家可以先忽略这一步试一下)

程序运行时提示This application failed to start because no Qt platform plugin could be initialized._只要思想不滑坡的博客-CSDN博客

 

4. 把opencv挑一个低版本重新下载一下

我下载了3.4.8.29

远程服务器连接出现qt.qpa.plugin: Could not find the Qt platform plugin xcb in 和: cannot connect to X server问题_第7张图片

5. 服务器终端操作

使用 echo $DISPLAY显示端口,然后在服务器终端使用export DISPLAY=XX.0,我的是11.0。

echo $DISPLAY

 export DISPLAY=XX.0

6.pycharm操作

在pycharm中run -> edit configurations ->enrivonment variables中把DISPLAY这个环境变量添加进去,我的就是DISPLAY=localhost:11.0。

远程服务器连接出现qt.qpa.plugin: Could not find the Qt platform plugin xcb in 和: cannot connect to X server问题_第8张图片

 远程服务器连接出现qt.qpa.plugin: Could not find the Qt platform plugin xcb in 和: cannot connect to X server问题_第9张图片

 

7. 运行成功!!!

远程服务器连接出现qt.qpa.plugin: Could not find the Qt platform plugin xcb in 和: cannot connect to X server问题_第10张图片

如果重新打开服务器后又出现连接不上的问题,则重新按照第5步开始再进行配置,因为可能连接的display的localhost改变了,再设置一遍就行。

三、问题小结

这个问题花了我一天时间终于解决了,好感人,使用免费的软件vcxsrv,然后进行xshell、服务器和pycharm的配置即可

你可能感兴趣的:(计算机视觉,人工智能,服务器)