本地windows连接远程linux服务器,使open3d在windows端可视化(TurboVNC + VScode)

本地windows连接远程linux服务器,使open3d在windows端可视化(TurboVNC + VScode)

工具:TurboVNC + VScode

1.在linux服务器上配置如下

#安装VNC和必要的一些图形显式库:
# 安装基本的依赖包
apt update && apt install -y libglu1-mesa-dev mesa-utils xterm xauth x11-xkb-utils xfonts-base xkb-data libxtst6 libxv1

# 安装libjpeg-turbo和turbovnc
export TURBOVNC_VERSION=2.2.5
export LIBJPEG_VERSION=2.0.90
wget http://aivc.ks3-cn-beijing.ksyun.com/packages/libjpeg-turbo/libjpeg-turbo-official_${LIBJPEG_VERSION}_amd64.deb
wget http://aivc.ks3-cn-beijing.ksyun.com/packages/turbovnc/turbovnc_${TURBOVNC_VERSION}_amd64.deb
dpkg -i libjpeg-turbo-official_${LIBJPEG_VERSION}_amd64.deb
dpkg -i turbovnc_${TURBOVNC_VERSION}_amd64.deb
rm -rf *.deb

# 启动VNC服务端,这一步可能涉及vnc密码配置(注意不是实例的账户密码)。另外如果出现报错xauth未找到,那么使用apt install xauth再安装一次
rm -rf /tmp/.X11-unix /tmp/.X11-unix  # 如果再次启动,删除上一次的临时文件,否则无法正常启动
USER=root /opt/TurboVNC/bin/vncserver :1 -desktop X -auth /root/.Xauthority -geometry 1920x1080 -depth 24 -rfbwait 120000 -rfbauth /root/.vnc/passwd -fp /usr/share/fonts/X11/misc/,/usr/share/fonts -rfbport 6006

# 检查是否启动,如果有vncserver的进程,证明已经启动
ps -ef | grep vnc

#由于我使用的是AutoDL的远程服务器,所以需要在后续通过其中的自定义服务连接,这步自己的服务器来设置
# 以上启动Server时,手动设置了rfbport=6006端口,那么可以通过实例提供的「自定义服务」的地址来访问,「自定义服务」会将实例中的6006端口暴露到公网中,公网的访问地址查看方法为:

在这里插入图片描述

点击该自定义服务,会在浏览器中获取例如http://region-4.autodl.com:66666的地址,那么下面使用vnc客户端连接时,地址请填写:region-4.autodl.com:66666

2.在windows上配置

在您的local电脑使用turbovnc客户端进行连接,地址为上述获取的地址,一切顺利的话,输入密码就能看到VNC连接成功后的图形化界面,以及正在运行在实例中的GUI程序;另外这里提供Windows系统turbovnc客户端的下载链接(也可以到turbovnc官网下载)

Windows: http://aivc.ks3-cn-beijing.ksyun.com/packages/turbovnc/TurboVNC-2.2.5-x64.exe

3.在Linux上操作

#在执行您的图形程序前,在同一终端中执行:
#export DISPLAY=:1
#后再执行您的程序。可以使用以下python代码进行简单验证:

import numpy as np
import cv2

h = 500
w = 500
img = 255 * np.ones((h ,w , 3), dtype=np.uint8)
cv2.imshow("", img)
cv2.waitKey(0)
如果在本地的vnc client显示图片,证明安装和启动过程无误

4.使用open3d操作时,由于远程服务器无图形化界面,想利用VScode将open3d视图在本地实时查看

(1)确认在上述linux服务器中启动vnc 服务

# 检查是否启动,如果有vncserver的进程,证明已经启动
ps -ef | grep vnc
#其中包含一个rfbport=590*
# 上面由于在启动vnc时指定了DISPLAY=":1",所以这时候的rfbport=5901

(2)使用VScode在终端页面点击“端口”,设置

在这里插入图片描述

(3)在本地windows打开安好的vnc程序,通过“服务器ip:上面手动暴露的端口”连接服务器,成功后在VScode上运行open3d可视化程序,以mmdetection3d为例

from mmdet3d.apis import init_model, inference_detector, show_result_meshlab

# pointPillars模型
config_file = "configs/pointpillars/hv_pointpillars_secfpn_6x8_160e_kitti-3d-3class.py"
# checkpoint_file中的文件提前在mmdetection3d模型库中下载
checkpoint_file = "checkpoints/hv_pointpillars_secfpn_6x8_160e_kitti-3d-3class_20220301_150306-37dc2420.pth"

model = init_model(config_file, checkpoint_file)

pcd = "demo/data/kitti/kitti_000008.bin"
result, data = inference_detector(model, pcd)

# 输出结果到output
out_dir = "./test_output"
import os
show_result_meshlab(data, result, out_dir, show=True)

(4)图像将显示在windows的vnc页面中

在这里插入图片描述
参考:
https://www.autodl.com/docs/gui/
https://blog.csdn.net/weixin_44287798/article/details/126925297

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值