欢迎来到站长天空!

其它服务器

当前位置: 主页 > 服务器 > 其它服务器

open3d 通过vscode+ssh连接远程服务器将可视化界面本地显示的问题

时间:2025-12-11 03:30:04|栏目:其它服务器|点击:

目录
  • 步骤
    • 1、在服务器上安装open3d
    • 2、下载x系列服务器
    • 3、配置
    • vscode
    • 远程服务器
    • 运行测试程序
  • 可能的原因
    • 可能的其他解决方案

      当使用远程服务器时,我们希望能像在本地一样写完代码后能立刻出现一些gui窗口。但是目前网络上的资料都不能很好的解决这个问题。本文尝试尽可能简短地解决这个问题。

      步骤

      1、在服务器上安装open3d

      已经非常简化了,可以使用一行代码完成

      pip3 install open3d

      2、下载x系列服务器

      我们这里要使用VcXsrv。安装过程一路next就行。但是注意不要安装到c盘,可能会出现权限问题。注意:本人测试过常用的x系列软件xming和xmanager均无法完成open3d的远程可视化

      3、配置

      打开VcXsrv安装目录下的X0.hosts 文件并输入你的服务器ip

      open3d 通过vscode+ssh连接远程服务器将可视化界面本地显示的问题

      open3d 通过vscode+ssh连接远程服务器将可视化界面本地显示的问题

      打开同目录下的Xlauch

      直到这里,非常重要,勾选如下。

      open3d 通过vscode+ssh连接远程服务器将可视化界面本地显示的问题

      成功设置后将看到右下角,这里注意0即为你的端口号。

      open3d 通过vscode+ssh连接远程服务器将可视化界面本地显示的问题

      vscode

      在**本机(并非是服务器)**vscode的扩展商店中安装Remote-SSH和Remote X11(SSH)

      并在SSH设置中输入以下三行

      open3d 通过vscode+ssh连接远程服务器将可视化界面本地显示的问题

      远程服务器

      可以在vim ~/.bashrc中 最后加入

       export DISPLAY="本机ip:端口号" 

      并source ~/.bashrc

      注意检查:

      echo $LIBGL_ALWAYS_INDIRECT

      若非空或者是1,则将其置为0以上操作完成后,在终端输入xclock应该能显示一个小时钟。

      运行测试程序

      import numpy as np
      import open3d as o3d
      points = np.random.rand(10000, 3)
      point_cloud = o3d.geometry.PointCloud()
      point_cloud.points = o3d.utility.Vector3dVector(points)
      o3d.visualization.draw_geometries([point_cloud])

      成功应该是如下图所示,并且可以拖动窗口和改变视角

      open3d 通过vscode+ssh连接远程服务器将可视化界面本地显示的问题

      可能的原因

      在远程交互过程中,open3d需要显示器创建上下文。但是远程服务器是没有图形化界面的,因此需要通过x服务器来转发到本地。通过之前的步骤,远程服务器就可以直接操纵本地的gpu环境,从而进行可视化。

      参考资料

      https://github.com/isl-org/Open3D/issues/897

      可能的其他解决方案

      1、web可视化

      web可视化

      import open3d as o3d
      from open3d.web_visualizer import draw
      cube_red = o3d.geometry.TriangleMesh.create_box(1, 2, 4)
      cube_red.compute_vertex_normals()
      cube_red.paint_uniform_color((1.0, 0.0, 0.0))
      draw(cube_red)

      即可完成在jupyter中的可视化。但是vscode插件好像暂时不支持。可以将服务器映射到本地端口进行显示,有待进一步完善步骤。

      2、headless渲染

      这个可以将渲染的图片全都保存下来。

      上一篇:Nginx禁止国外IP访问我的网站的实现

      栏    目:其它服务器

      下一篇:nginx配置完rewrite浏览器提示将您重定向的次数过多的解决方法

      本文标题:open3d 通过vscode+ssh连接远程服务器将可视化界面本地显示的问题

      本文地址:https://zz.feitang.co/server/29997.html

      广告投放 | 联系我们 | 版权申明

      申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

      如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

      联系QQ:257218569 | 邮箱:257218569@qq.com

      Copyright © 2018-2025 站长天空 版权所有 Powered by EyouCms冀ICP备14023439号