背景

连接服务器以后,想用open3d可视化点云、matplotlib画点图,但是一直不能用,原因也很简单,就是没有配置GUI传输显示,那肯定是要配置X11相关的东西。

过程

服务器

确保服务器下载了xterm、xorg-x11-xauth两个包,不确定可以用dpkg -l加正则表达式查看,应该基本上都有。之后检查/etc/ssh/sshd_config是否有X11Forwarding yes,如果没有或者为注释状态,则需要使用sudo权限修改至所需状态。接着,修改.bashrc(用户主目录下的隐藏文件),具体为新增环境变量$DISPLAY="localhost:10.0",最后使用source ~/.bashrc重启bash,使用echo $DISPLAY命令确认环境变量是否配置成功(输出对应的localhost:10.0)即可。

有些博客也用0.0,但其实都一样,配置的是X11转发走的端口,可以都试一下,也可以试试其他比如2.0, 3.0……,重要的这个加入后面是0.0,则第二步本机中配置**DISPLAY offset**必须是0,如果是10.0,则必须是10,其他依此类推。

本机

在本机安装MobaXterm,点击Settings-->Configurations-->X11,设置如下:

ModelXterm支持X11转发,与Xming一样,我看网上很多博客都用的是Xming,我还是参考链接2,用了ModelXterm。其实都差不多,使用他们都是为了使得VScode运行可视化代码时,可视结果能从配置的X11端口(即localhost后面的10.0)转发。

VScode

VScode除了下载Remote-SSH或者Remote development插件外,还需下载Remote-X11插件,之后修改SSH远程连接的.config配置,在服务器的配置中加入如下三行:

使用

首先需要保证使用ModelXterm或是xming连接上服务器(前提),然后使用VScode连接服务器才能支持可视化结果转发,整个过程都要保证ModelXterm一直与服务器连接着。

然后在VScode左侧栏的运行调试一栏中点击创建Launch.json文件,之后回到目录可以看到出现了.vscode/launch.json文件,并向该文件中加入如下内容:

localhost后面的端口与之前第一步服务器配置中的保持一致,之后每个相关目录都需要创建launch.json,并如上配置才能支持VScode可视化从X11端口转发。

测试

  1. 终端terminal使用xclock可以出现可视化时钟,使用xeyes可以出现如下:

  1. matplotlib可视化测试:
import matplotlib.pyplot as plt
import numpy as np
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()

OK,配置成功,就是运行可视化代码出来界面有些延迟,但是可以接受

拓展

  1. 如果出现`can not display或者输入了命令(运行了可视化代码)一直没有界面显示的情况,按上述顺序调整localhost后面的端口号(1,2,3……枚举,一般取10以后开始)重新弄一遍,直到能显示为止

参考链接:

  1. Remote X11 GUI for Linux/Unix - deodara - 博客园
  2. SSH通过VSCode远程访问服务器Opencv和matplotlib等无法直接显示图像问题_vscode中图片无法显示_博博有个大大大的Dream的博客-CSDN博客

VScode+X11支持连接服务器时支持open3d、openCV、matplotlib等可视化的更多相关文章

  1. 【解决】WordPress FTP连接服务器时出错,请检查设置,WordPress需要访问您网页服务器的权限

    刚装好wordpress,发现后台预装了两个插件,想删掉,结果要登录FTP,死活登不上去,提示"连接服务器时出错,请检查设置,WordPress需要访问您网页服务器的权限",网上也 ...

  2. Delphi XE8中开发DataSnap程序常见问题和解决方法 (三)用TClientDataSet的“ProviderName”属性连接服务器时,无法找到服务器端的“DatasetProvier”

    当我们在客户端用TClientDataSet的“ProviderName”属性连接服务器时,无法找到服务器端的“DatasetProvier”!! 问题原因:服务器端对提供服务的控件所属单元选择错误. ...

  3. TortoiseSVN使用svn+ssh协议连接服务器时重复提示输入密码

    当使用svn+ssh协议连接svn服务器时,ssh会提示请求认证,由于不是svn客户端程序来完成ssh的认证,所以不会缓存密码. 而svn客户端通常会建立多个版本库的连接,当密码没有缓存的时候,就会重 ...

  4. SSH连接服务器时,长时间不操作就会断开的解决方案

    最近在配置服务器相关内容时候,不同的事情导致长时间不操作,页面就断开了连接,不能操作,只能关闭窗口,最后通过以下命令解决. SSH连接linux时,长时间不操作就断开的解决方案: 1.修改/etc/s ...

  5. mstsc连接服务器时如何避免每次在登陆窗口输入密码(rdp passwd decrypted )

    http://blog.chinaunix.net/uid-1835840-id-2831518.html 我们经常需要连接很多服务器,或者服务器的ip经常变动.把连接的密码保存在rdp配置文件里,用 ...

  6. JAVA Socket连接服务器时可能抛出的异常

    1.UnknownHostException:host(非ip)无法识,就会报该异常,www.google.com.hk这个虽然也ping不通,但是不会报该错,因为他是一个确实存在的域名.他会报Con ...

  7. (原)Ubuntu连接远程服务器时connection reset by peer

    转载请注明出处: https://www.cnblogs.com/darkknightzh/p/11086935.html 最近使用ubuntu通过ssh连接服务器时,由于密码错误,多次连接失败后,在 ...

  8. SFTP远程连接服务器上传下载文件-qt4.8.0-vs2010编译器-项目实例

    本项目仅测试远程连接服务器,支持上传,下载文件,更多功能开发请看API自行开发. 环境:win7系统,Qt4.8.0版本,vs2010编译器 qt4.8.0-vs2010编译器项目实例下载地址:CSD ...

  9. SFTP远程连接服务器上传下载文件-vs2010项目实例

    本项目仅测试远程连接服务器,支持上传,下载文件,更多功能开发请看API自行开发. 环境:win7系统,vs2010 vs2010项目实例下载地址:CSDN下载 如果没有CSDN积分,百度网盘下载(密码 ...

  10. SFTP远程连接服务器上传下载文件-vs2013项目实例

    本项目仅测试远程连接服务器,支持上传,下载文件,更多功能开发请看API自行开发. 环境:win7系统,vs2013 vs2013项目实例下载地址:CSDN下载 如果没有CSDN积分,百度网盘下载(密码 ...

随机推荐

  1. 【HarmonyOS】【ArkTS】如何使用HTTP网络请求获取动态数据刷新UI界面

    ​ [关键字] HttpRequest.ArkTS.网络数据请求.@ohos.net.http [前言] 在使用ArkTS开发HarmonyOS应用时,需要调用HTTP网络请求 @ohos.net.h ...

  2. StencilJs 学习之 JSX

    Stencil 组件使用 JSX 渲染,这是一种流行的声明式模板语法.每个组件都有一个渲染函数,它返回在运行时渲染到 DOM 的组件树. 基础用法 render 函数用于输出将绘制到屏幕上的组件树. ...

  3. 逍遥自在学C语言 | 指针函数与函数指针

    前言 在C语言中,指针函数和函数指针是强大且常用的工具.它们允许我们以更灵活的方式处理函数和数据,进而扩展程序的功能. 本文将介绍指针函数和函数指针的概念,并讲解一些常见的应用示例. 一.人物简介 第 ...

  4. springboot使用Websocket写一个聊天室

    1 <!--websocket 依赖--> 2 <dependency> 3 <groupId>org.springframework.boot</group ...

  5. GC 分代回收算法

    GC 分代回收算法 1.首先了解JVM堆内存是如何分配的. 年轻代内部  生成区 和 S0 S1 的比例 默认情况下是 8:1 :1 堆内存和永久代存储的内容有区别:  堆内存主要存储的是 : 对象, ...

  6. ERP查询Q报表开发代码

    一,按照一般ERP开发流程可参考ERP开发流程,直到下载程序. 当我们的查询页签存在栏位需要判断或者特殊处理时,在global中的自定义模组变数下添加,例如: 1 #add-point:自定義模組變數 ...

  7. BitLocker加密过程中断断电,能否恢复数据?

    BitLocker是Windows系统提供的磁盘加密功能,用户自己可以手动开启.在访问受BitLocker保护的磁盘分区时,需要先提供正确的密码.秘钥或是BEK文件.如果使用BitLocker将系统盘 ...

  8. ASP.NET MVC4 学习笔记-2

    渲染网页-Randering Web Pages 前面示例的输出结果不是HTML,而是一个"Hello World"的字符串.为了响应浏览器的请求产生一个HTML网页,我们需要创建 ...

  9. 堆栈式 CMOS、背照式 CMOS 和传统 CMOS 传感器的区别

    光电效应 光电效应的现象是赫兹(频率的单位就是以他命名的)发现的,但是是爱因斯坦正确解释的.简单说,光或某一些电磁波,照射在某些光敏物质会产生电子,这就是光电效应. 这就将光变为了电,光信号的改变会带 ...

  10. 2023年icpc大学生程序设计竞赛-nhr

    icpc的省赛是在洛阳举办,第一次出省,还是两天,第一次离开郑州去别的城市比赛,心情更多的是激动,非常感谢老师给了这次机会,第一天20号,打完热身赛之后回寝室,和队友一起看了一下去年省赛的题,感觉还是 ...