远程服务器显示pyQt界面

news/2025/10/21 19:15:58/文章来源:https://www.cnblogs.com/solarlemon/p/19156222

1 vscode+mobaxterm实现服务器图形显示

在服务器上跑深度学习任务是有时候会需要可视化图片,但是服务器一般没有图形显示的功能:

$ xclock
Error: Can't open display: 

可以通过 vscode+mobaxterm 使图形显示在本地电脑上。【mobaxterm 自带 X11 forwarding 服务】

1.1 vscode配置

  • 在扩展中安装Remote-SSH插件;
  • 在vscode的ssh配置文件中添加,ForwardX11、ForwardX11Trusted、ForwardAgent
Host xxxHostName xxx.xxx.xxx.xxxPort 22User xxxForwardX11 yesForwardX11Trusted yesForwardAgent yes

1.2 mobaxterm配置

新建 SSH 连接时添加上述文件配置:
|825 配置好后双击User sessions,出现如下内容配置成功:
|825 在 vscode 中输入命令,输出localhost: xx.x

echo $DISPLAYlocalhost:xx.x

在 vscode 终端中输入:

export DISPLAY=localhost:xx.x

最终即可在本地 VSCode 运行服务器 PyQt 并在本地显示界面。

2 bug 记录

当我在代码中导入 cv2 包时报错:

qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/home/shi/miniconda3/envs/inpainting/lib/python3.10/site-packages/cv2/qt/plugins" even though it was found.

这是由于发生冲突所致,其中导入 cv2 库会替换指向 cv2 安装路径中存在的版本的 QT 平台插件二进制文件 libqxcb.so,而不是 linux 系统安装的 QT 平台插件路径。这会导致在尝试运行依赖于此的任何应用程序时出现上述错误,例如 (Matplotlib、Rviz launch.py 等)。通过将环境变量 QT_QPA_PLATFORM_PLUGIN_PATH 设置为 linux 根安装目录中存在的版本,强制 QT 平台插件路径恢复为 linux 安装版本,可以解决此问题。

import os
import cv2
# 设置环境变量,指向系统中的 Qt 插件路径,因为导入cv后会冲突
os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = '/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms'

但是 cv2.imshow() 方法将不再有效,因为它需要 cv2 安装附带的二进制文件。

vscode+mobaxterm实现服务器图形显示_vscode mobaxterm-CSDN博客

【记录一下】如何在服务器上远程使用pyqt5_学校服务器能使用pyqt5吗-CSDN博客

QT 应用程序因与 cv2 冲突而出错(无法加载 Qt 平台插件 “xcb”) - 知识库 - Stretch Forum --- QT applications error out due to conflict with cv2 (Could not load the Qt platform plugin "xcb") - Knowledge Base - Stretch Forum

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/942587.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

揭开 C++ vector 底层面纱:从三指针模型到手写完整实现 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

java的字符和字符串

这是一个非常基础且重要的概念,用一个简单的比喻就很容易理解:字符 (Character): 就像一个“字母”或一个“汉字”。 字符串 (String): 就像一个“单词”或“一句话”。1. 字符 (Character)概念: 它是文本的最小、…

python_日志记录-loguru

日志记录-loguru1 使用 loguru 安装 pip install loguru如何使用 from loguru import loggerlogger.debug("This is a debug message") logger.info("This is an info message") logger.warning(&…

软工第三次作业--结对作业

廖永祺 谭钧灏 3123004628 GitHub项目地址:这个作业属于哪个课程 <班级的链接>这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/Class12Grade23ComputerScience/homework/13470这个作业的目标 熟悉小组…

原来用聊天记录就可以创造数字分身!WeClone项目在Lab4AI平台上的复现

通过给大模型喂我们的聊天记录,就可打造出我们的数字分身,当前爆火的Weclone项目采取的就是这种做法。01 | WeClone 如何创造数字分身 拥有一个数字分身可能是很多人的一个愿望。其实通过给大模型喂我们的聊天记录,…

Day1HTML的基本骨架

在vscode中,若是在.html后缀的文件可用快捷键帮助生成骨架,即按!的同时按住回车键或tab键 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta n…

结对项目作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience/homework/13479这个作业的目标 实…

Java中的注释

单行注释格式: 以 // 开始,直到这一行的末尾。 作用: 用于写一句话的简单说明,或者在某行代码后面加个简短的备注。 // 这是单行注释,电脑会忽略这一整行 int age = 18; // 这也是单行注释,用来解释age变量的含义…

C语言项目开发常用目录结构 - Invinc

本文记录了C语言项目开发中常用的目录结构。本文记录了C语言项目开发中常用的目录结构。C 语言项目的目录规范没有统一标准,但行业中形成了一些通用的目录结构,目的是提高代码可维护性、分离不同类型的文件,尤其适合…

day03-Coze记忆-对话体验

今日内容 1 智能体之记忆(个人记账本) # 1 个人记账本:1 我们每天花费---》传给 智能体2 利用智能体记忆功能--》记录每笔花费3 统计每天花费4 统计每月花费# 2 记忆功能1 变量:常用的东西2 数据库:非常重要 -永久…

2025年流量计厂家权威推荐榜单:电磁流量计、超声波流量计、涡街流量计、质量流量计专业制造商深度解析

2025年流量计厂家权威推荐榜单:电磁流量计、超声波流量计、涡街流量计、质量流量计专业制造商深度解析 在工业自动化与过程控制领域,流量计作为关键测量仪表,其性能与可靠性直接影响生产效率和产品质量。随着智能制…

RNDIS让Air8000的USB上网更智能、更快速!

借助RNDIS协议的智能特性,Air8000的USB上网功能变得更加高效和快速。用户在连接设备时,系统会自动完成网络配置,实现极速上网,提升整体使用体验。 一、Air8000 USB 上网应用概述 本章将带你使用 RNDIS 的方式,搭配…

如果k8s有三个calico节点A,B,C 使用bgp模式的话是如何进行BGP对等会话的

在 Kubernetes 集群中,如果使用 Calico 的 BGP 模式,并且有三个节点 A、B、C,它们之间如何建立 BGP 对等会话,取决于您在 Calico 中配置的 BGP 网络拓扑模式。 Calico 主要支持两种模式来管理这三个节点间的 BGP 会…

2025年栏杆护栏厂家权威推荐榜:不锈钢栏杆、桥梁防撞护栏、河道景观护栏专业制造商精选

2025年栏杆护栏厂家权威推荐榜:不锈钢栏杆、桥梁防撞护栏、河道景观护栏专业制造商精选 随着城市化进程加速和基础设施建设不断完善,栏杆护栏行业迎来了前所未有的发展机遇。作为公共安全的重要保障,各类护栏产品在…

Day1标签语法

第一个标签的含义是将字体加粗,这是双标签,结束标签相比开始标签需要多一个/符号 而双标签与单标签的区在于双标签要包含某个内容,单标签则不用,在实际应用当中。也是双标签居多 第二行的标签含义是在字符的下方添…

home-assistant-Concepts and terminology概念和术语

Concepts and terminology概念和术语Now you’re in Home Assistant, let’s look at the most important concepts. 现在你在家庭助理,让我们看看最重要的概念。Integrations集成 Integrations are pieces of softwa…

2025年印染水洗机厂家权威推荐榜:高效水洗设备与环保节能技术深度解析,专业水洗机厂家精选

2025年印染水洗机厂家权威推荐榜:高效水洗设备与环保节能技术深度解析,专业水洗机厂家精选 随着全球纺织印染行业向绿色化、智能化方向转型升级,水洗机作为印染工艺流程中的关键设备,其技术性能与环保指标已成为影…

2025年定型机厂家推荐排行榜,拉幅定型机,门富士定型机,节能定型机,余热回收,废气回收,烟气回收,智能排风,双层定型机公司推荐

2025年定型机厂家推荐排行榜:拉幅定型机、门富士定型机、节能定型机技术深度解析 行业背景与发展趋势 纺织印染行业作为传统制造业的重要组成部分,正面临着节能减排、智能化升级的迫切需求。在"双碳"目标背…

华容道 BFS DFS C++ Python 短程序

图片来自百度华容道吧。第二步卒子像军旗的工兵在铁道上跑——比我们的局面变化数少。E =   # 全角空格class Brd:def __str__(m): return \n.join([.join(r) for r in m.b])def totuple(m): return tuple(tuple(r) f…

home-assistant-Onboarding Home Assistant(入职家庭助理)

Onboarding Home Assistant(入职家庭助理) After Home Assistant has been installed on your device, there are 5 steps to complete setting up Home Assistant.在您的设备上安装家庭助理后,有5个步骤来完成设置家…