IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> vscode 通过 X11/Xming 转发显示远程 GUI 窗口 -> 正文阅读

[开发工具]vscode 通过 X11/Xming 转发显示远程 GUI 窗口

一、vscode 通过 X11/Xming 转发显示远程 GUI 窗口

链接4中,最后在设置配置文件 launch.json 时,env 中的设置应该和第二部分我给出的 json 一样,不应该是 localhost:0.0,这里应该更改为本机的 IP,因为 X 协议有些不同,这里作为显示的本机充当的是 XServer 角色,而服务器端则是 XCline 发送数据请求到 XServer 服务器显示。

1.1 Xming 安装

官网:http://www.straightrunning.com/XmingNotes/ 个人是比较推荐官网下载的
下载链接

一个是 Xming,另一个是 Xming Fonts 安装程序,本人也不是特别清楚为什么要安装这个字体程序,可能是为了正常显示某些字体,有的时候字体没办法正常显示也是会导致程序崩溃。在运行字体安装程序时,直接安装到 Xming 文件夹下即可,不会覆盖。

安装完毕后,有两个可执行文件:
可执行文件
其中 XLaunch 是进行一些基本的安装配置,这里最重要的一点是设置端口,默认设置的为 0,如果修改为指定的值 X,最终的端口号就是这样 X.0 (最好不要修改,否则会出现某些错误,后面会讲到,总之别改就是!!!),后面就没什么可注意的。实际运行的是 Xming,运行后默认后台启动,没有界面,在任务栏可以看到,悬停在上面就可以看到当前的端口信息。
端口信息

1.2 配置

1.2.1 客户端配置

这里只介绍 vscode 里面怎么配置,上面的链接2中有介绍怎么在 PyCharm 中操作。

1. 安装 X11 插件

直接在扩展搜索栏里搜索 X11,安装第一个即可。

2. vscode 中对 X11 进行相关设置

基本上没有需要修改的地方,硬要说的话也就 launch,json 添加以下配置:

"env": {  // 向客户端说明远程显示的端口在哪里(也就是本机的IP:X11的端口)
// 切记切记!!!测试的时候记得先在连接服务器的终端:
// export DISPLAY="xx.xx.xx.xx:0.0"
// 之后再执行 xclock 方可成功!
"DISPLAY": "10.17.238.223:0.0"}

然后是对 SSH 连接的 config 配置,说到这里,X11 好像只支持自动连接,所以需要参考下 SSH 登录不需要重复验证的设置:https://blog.csdn.net/qq_40750972/article/details/123450772?spm=1001.2014.3001.5501

Host xxx.xxx.xxx.xxx
    HostName xxx
    User guest
    IdentityFile C:/Users/xxx/.ssh/id_rsa
    ForwardAgent yes

这里有一个小细节是:我看大部分博主都偏向于将 SSH 的登录设置在终端,这样导致的一个问题是,当我觉得这个终端很碍眼,想要 kill 掉时,就相当于把连接远程的终端给关闭了,所以和服务器的连接就断开,这也是为什么经常断重复连的一个小原因(如果不知道这个的话)。不把登录信息设置为 interminal...=true 时,完全没有这个问题,默认就是 false,修改为 true 后困扰了我很久,那段时间用着是真不习惯。

1.2.2 服务器配置

sudo vim /etc/ssh/sshd_config

# X11Forwarding yes
# X11DisplayOffset 10

将这两行注释取消掉,保存退出即可。
修改配置

切记切记!!!在修改完配置文件后,进行测试时,一定要在连接服务器的终端输入:

 export DISPLAY="xxx.xxx.xxx:0.0"  # 这里是主机(XServer)的 IP 地址

然后使用:

xclock

测试效果

或者:

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

ax = plt.axes(projection='3d')
ax.scatter(np.random.rand(10),np.random.rand(10),np.random.rand(10))

plt.show()

测试时,才不会报错!

二、vscode 有关 python 的 launch.json 配置文件

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "pdebuger", // 为当前调试器命名
            "type": "python", // 以哪种解释器执行调试
            // launch模式 由 VSCode 来启动一个独立的具有 debug 模式的程序;
            // attach模式 附加于一个已经启动的程序,也就是程序本身不是通过 VSCode 启动的。
             // 参考链接:https://github.com/forsigner/vscode-debug-examples/blob/master/docs/launch-and-attach-zh-CN.md
            "request": "launch",
            // "program": "${file}",  // 默认测试运行的是当前所在的文件
            "program": "test_global_track.py", // 指定要以调试运行的程序代码
            "console": "integratedTerminal",
            "justMyCode": false, // 指定为true的话会跳过某些代码段
            // 调试运行时的参数,格式为:"[--]参数", "参数值"
            "args": [
                "--config",
                "configs/qg_rcnn_r50_fpn.py",
                "--load_from",
                "checkpoints/qg_rcnn_r50_fpn_2x_20181010-443129e1.pth",
                "--gpus",
                "3"
            ],
            "env": {
                // 向客户端说明远程显示的端口在哪里(也就是本机的IP:X11的端口)
                // 切记切记!!!测试的时候记得先在连接服务器的终端:
                // export DISPLAY="xx.xx.xx.xx:0.0"
                // 之后再执行 xclock 方可成功!
                "DISPLAY": "10.17.238.223:0.0"
            }
        }
    ]
}

存在的问题

端口号最好不要改,否者会导致以下错误!
端口号导致的错误
具体什么原因还不清楚,修改端口号后,无法运行!修改回原来的还是同样的错误。

No protocol specified
Error: Can't open display: 10.17.238.223:0.0

解决方案:https://theunixtips.com/xming-client-4-rejected-from-ip/

将服务器添加到 Xming 安装目录下的 x0.hosts 后,重启即可解决问题!

有一个地方值得注意,当在安装 XLaunch 自定义 Displayer number 后,报以上错误,退出后再次打开会发现自动修改为了 0.0,成功接收到服务器的消息,所以该端口不要随便改,默认即可!

出错后,查看日志,是最好的入手点!
日志

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-04-06 23:24:56  更:2022-04-06 23:25:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 5:51:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码