Xming安装配置

  • 一、vscode 通过 X11/Xming 转发显示远程 GUI 窗口
    • 1.1 Xming 安装
    • 1.2 配置
      • 1.2.1 客户端配置
        • 1. 安装 X11 插件
        • 2. vscode 中对 X11 进行相关设置
      • 1.2.2 服务器配置
  • 二、vscode 有关 python 的 launch.json 配置文件
  • 三、相关问题及解决办法

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

  • 参考链接1:https://juejin.cn/post/7009593663894323231
  • 参考链接2:https://blog.csdn.net/qq_34907927/article/details/116597908
  • 参考链接3:https://blog.csdn.net/info_black_hole/article/details/116378832
  • 参考链接4:利用VScode连接远程服务器进行代码调试及可视化界面

链接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.xxxHostName xxxUser guestIdentityFile C:/Users/xxx/.ssh/id_rsaForwardAgent 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 Axes3Dax = 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 后,重启 Xming 即可解决问题!

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

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

vscode 通过 X11/Xming 转发显示远程 GUI 窗口相关推荐

  1. win10+Xming+Xshell显示远程linux服务器的图形程序窗口

    Xshell的安装: Xshell的下载与使用 - 知乎 Xming的安装 1. 在bing页面搜索Xming,进入官网 2. 直接download 3. 下载完毕,点开安装包,直接按默认设置一路点击 ...

  2. Windows Xming +Xshell 实现远程 linux gui 界面本地展示

    Windows 远程登录服务器后,由于是使用终端远程登录,并且远程服务器没有图形界面,显示图像很不方便.本文记录使用 Xming +Xshell 6 实现远程打开Linux界面的方法. 基本环境 本地 ...

  3. centos 7 显示远程窗口到本地

    文章目录 1 VNC 和 Xmanager 的区别 2 环境准备 3 软件用途 4 服务器端安装(root下) 5 设置访问权限(当前用户下) 6 检查变量(当前用户下) 7 远程窗口显示测试(当前用 ...

  4. Pycharm本地显示远程服务器绘图程序 (这种忙一天却一无所获的感觉真是让人着迷)

    1. Pycharm使用远程服务器在Windows本地显示绘图 使用远程服务器的python解释器在本地运行绘图程序时,在服务器显示的程序需要传回本地显示,需要同时配置本地和服务器环境: 1.1 Wi ...

  5. win10 使用Xming+Putty显示Linux下软件图形界面

    在windows下使用Xming+Putty显示Linux下软件图形界面 转载 ############# 安装Xming 和 Putty: ############# Xming是一个在Micros ...

  6. VSCode 中利用 Remote SSH 连接远程服务器

    北京时间 2019 年 5 月 3 日,在 PyCon 2019 大会上,微软发布了 VS Code Remote.这是一个用来实现远程开发的功能插件,对于许多使用 Windows 进行开发,但是需要 ...

  7. Linux ls信息给qt gui,如何使用Qt 4把ls命令的结果显示到GUI界面上去?

    如何使用Qt 4把ls命令的结果显示到GUI界面上去? 问:您好!想向您请教一些问题!现在在做论文比较急,不知能否请您给指导一下.我的系统是openSUSE 11.1, Qt版本为4.4.3.现想做一 ...

  8. nginx配置文件+本地测试请求转发到远程服务器+集群

    1 在本地测试1 众所周知,nginx是一个反向代理的服务器,主要功能即为实现负载均衡和动静分离.在别的我别的文章有详细的nginx(Windows)相关介绍教程. 由于自己安装的nginx在本地的计 ...

  9. 使用Ext.grid.Panel显示远程数据

    使用Ext.grid.Panel显示远程数据 对于Ext.grid.Panel而言,它只是负责显示Store数组中心的数据,至于Store保存的数据到底是浏览器本地数据,还是远程服务器的数据,Ext. ...

最新文章

  1. python web开发-flask访问请求数据request
  2. 【jmx】java jmx 获取 kafka topic的logStart LogEnd信息
  3. stft isar成像 matlab,基于时频分析的ISAR成像
  4. visio常用快捷键_visio2003常用快捷键有哪些
  5. Matlab2016b中文乱码怎么办
  6. 统计学复习笔记(二)—— 常见的概率分布卡方分布,t分布,F分布和中心极限定理
  7. 梁宁《产品思维》之18用户体验
  8. html laber上下居中,laber是什么意思
  9. 异常:Mapper method 'com.***.delByNumber' has an unsupported return type: class java.lang.String
  10. 页面加载微信聊天记录图片不显示问题
  11. cms系统是什么,用哪个比较好。
  12. FDMS86252 实现低导通电阻 高效率的N沟道屏蔽栅极MOSFET管 150V 16A 51mΩ
  13. 宏碁暗影骑士3 win10 和 ubuntu18.04双系统安装
  14. 百词斩英语单词小助手(主要实现英语单词学习的功能。用户可对词典文件中的单词进行预览,增删改查。同时还可进行中英、英中测试。本系统还提供了测试成绩的显示功能。)
  15. [阮一峰]腾讯的历史.转帖
  16. 中国嵌入式应用市场四大热点及趋势
  17. 浏览器兼容问题(实战干货)
  18. 用迭代器遍历map 集合
  19. 2021科大讯飞-X光安检图像识别赛Top1方案!
  20. python文件管理系统项目管理师_信息系统项目管理师(18)

热门文章

  1. StringBoot-plus 代码生成器
  2. Java web 数据库查询时候出现空指针异常
  3. 前端简介以及开发环境搭建
  4. redis统计用户日活量_Redis精确去重计数方法(咆哮位图)
  5. 基于硬件的加密的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  6. 电商订单派单模式实践(Java版)
  7. 计算机非编码类,真核生物非编码RNA基因:计算机识别及进化
  8. 捋一捋什么是MySQL插入意向锁?
  9. nuxt可以直接编译HTML标签,Nuxt
  10. C++异常的幕后3:取悦链接器的ABI