在Autodl服务器中使用VNC建立图形界面

      • **AutoDL 3D 图形桌面搭建教程**
      • **第一步:安装桌面和 VNC**
      • **第二步:进行一次性配置**
      • **第三步:日常启动与使用**


AutoDL 3D 图形桌面搭建教程

目标: 在你的 AutoDL 环境上,以最少的步骤搭建一个原生支持硬件加速的远程图形桌面。

核心技术栈:

  • 桌面环境: XFCE4
  • VNC 方案: TurboVNC
  • 3D 加速: 由系统环境自动提供,无需 VirtualGL!

第一步:安装桌面和 VNC

  1. SSH 登录到你的 AutoDL 服务器。
  2. 更新并安装:
    sudo apt-get update
    sudo apt-get install -y xfce4 xfce4-goodies
    
  3. 安装 TurboVNC:
    cd /tmp
    wget https://sourceforge.net/projects/turbovnc/files/3.0.3/turbovnc_3.0.3_amd64.deb/download -O turbovnc.deb
    sudo dpkg -i turbovnc.deb
    sudo apt-get install -f -y
    

第二步:进行一次性配置

  1. 配置 Shell (~/.bashrc):
    我们只需要添加 TurboVNC 的路径即可。

    echo '' >> ~/.bashrc
    echo '# --- TurboVNC PATH Configuration ---' >> ~/.bashrc
    echo 'export PATH=/opt/TurboVNC/bin:$PATH' >> ~/.bashrc
    echo 'export DISPLAY=:1' >> ~/.bashrc
    

    运行 source ~/.bashrc 使其生效。

  2. 设置 VNC 密码和启动脚本:

    • 运行 vncserver :1,设置密码,然后 vncserver -kill :1
    • 创建并配置 xstartup 文件:
      echo '#!/bin/sh' > ~/.vnc/xstartup
      echo 'startxfce4 &' >> ~/.vnc/xstartup
      
    • 赋予执行权限:
      chmod 755 ~/.vnc/xstartup
      

第三步:日常启动与使用

  1. 在 AutoDL 平台开放 5901 端口(默认是6006,需要改为5901),获取公网地址。

https://www.autodl.com/docs/ssh_proxy/

  1. 在服务器上启动 VNC:
    vncserver :1 -xstartup /usr/bin/startxfce4
    
  2. 用本地的 TurboVNC Viewer 连接到(127.0.0.1:5901)远程桌面。
  3. 运行你的 3D 程序:
    • 打开远程桌面里的终端。
    • 重要:在终端里,必须先设置 DISPLAY 变量,告诉程序要画在哪个屏幕上。
      export DISPLAY=:1
      
    • 运行你的程序!
      # 激活你的环境
      conda activate myenv
      # 直接运行
      python your_pybullet_script.py
      

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/91525.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/91525.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/91525.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CD54.【C++ Dev】vector和list的反向迭代器的实现

目录 1.反向迭代器的功能 2.算法 方法1:新写一个类用于反向迭代器 方法2:封装正向迭代器实现反向迭代器 解析operator* 正向迭代器和反向迭代器的关系 返回 *--tmp的原因 3.为自制的vector和list编写反向迭代器 编写统一的反向迭代器 修改vector头文件 修改list头文…

如何解决pip安装报错ModuleNotFoundError: No module named ‘django’问题

【Python系列Bug修复PyCharm控制台pip install报错】如何解决pip安装报错ModuleNotFoundError: No module named ‘django’问题 摘要 在日常 Django 项目开发中,最常见的“拦路虎”之一就是 ModuleNotFoundError: No module named django。该异常通常在以下场景出…

单页面和多页面的区别和优缺点

单页面应用(SPA)与多页面应用(MPA)的区别单页面应用(SPA)整个应用只有一个HTML文件,内容通过JavaScript动态加载和渲染。页面切换时无需重新加载整个页面,仅更新部分DOM。依赖前端框…

暑期自学嵌入式——Day05(C语言阶段)

接续上文:暑期自学嵌入式——Day04(C语言阶段)-CSDN博客 点关注不迷路哟。你的点赞、收藏,一键三连,是我持续更新的动力哟!!! 主页: 一位搞嵌入式的 genius-CSDN博客 …

通用人工智能AGI遥遥无期,面临幻灭

通用人工智能AGI有可能2080年前也实现不了 首先说一下,目前的人工智能方向是错的,通用人工智能不值得追捧。 真的特别无奈,现在还有很多人在吹AI,说什么2027年就能实现AGI,如果你指的是真正的强人工智能AGI&#xff0c…

智能体开发工具链全景图:IDE、调试器与监控平台

智能体开发工具链全景图:IDE、调试器与监控平台 🌟 嗨,我是IRpickstars! 🌌 总有一行代码,能点亮万千星辰。 🔍 在技术的宇宙中,我愿做永不停歇的探索者。 ✨ 用代码丈量世界&…

三十四、【扩展工具篇】JSON 格式化与解析:集成 Monaco Editor 打造在线 JSON 工具

三十四、【扩展工具篇】JSON 格式化与解析:集成 Monaco Editor 打造在线 JSON 工具 前言 功能概览 技术选型 实现步骤 第一步:添加路由和侧边栏菜单入口 第二步:创建 JSON 工具页面 第三部分:全面测试与验证 总结 前言 在日常的接口开发和测试中,我们经常需要处理 JSON 数…

MySQL高可用集群架构:主从复制、MGR与读写分离实战

1. MySQL高可用架构概述 MySQL高可用性(High Availability)解决方案旨在确保数据库服务在硬件故障、网络问题等异常情况下仍能持续提供服务。以下是主流的高可用方案对比: 方案 原理 优点 缺点 适用场景 主从复制 基于binlog的异步复制 简单易用,对性能影响小 数据一致性弱,…

JxBrowser 7.43.5 版本发布啦!

在此版本中,我们进行了错误修复和稳定性改进。 🔗 点击此处了解更多详情。 🆓 获取 30 天免费试用。

借助AI学习开源代码git0.7之编译和使用

如何学习优秀的开源代码?目前大部分的优秀开源代码,代码量都已经非常庞大,比如git。以git为例,git最新版本代码有279814行, 而git0.7版本已经大部分实现了现在git版本的基本功能,而代码量却只有4950行&…

ObservableCollection全面解析

本文仅作为参考大佬们文章的总结。 ObservableCollection是C#中一个功能强大的动态数据集合类,特别适用于需要数据绑定和UI自动更新的场景。本文将系统性地总结ObservableCollection的核心概念、使用方法、性能优化策略以及在实际项目中的应用实践。 一、Observab…

佰力博检测与您探讨超高温介电测试的应用领域

超高温介电测试是指在极端高温条件下(通常高于1000℃)对材料的介电性能进行测量和分析的过程。以评估材料在高温环境下的电学性能稳定性,如介电常数、介电损耗、阻抗谱等参数。超高温介电测试需要用到的超高温介电阻抗测试设备:UT…

OneCode自治UI核心组件Layout布局介绍:构建灵活高效的界面布局系统

在现代前端开发中,布局系统扮演着至关重要的角色,它不仅决定了界面的结构美感,更直接影响用户体验和开发效率。OneCode作为一款企业级低代码开发平台,其布局引擎通过精巧的设计实现了简洁API与强大功能的完美平衡。本文将深入剖析…

为何“白名单媒体”是性价比之选?

在信息媒体空前发展的今天,软文营销已成为企业品牌推广的重要手段之一。然而,面对众多媒体,如何选择高性价比的发稿媒体成为许多营销人员的一个课题。其中,“白名单媒体”凭借其高收录率、权威背书等优势,逐渐成为软文…

Python 异步编程之 async 和 await

基础知识 在 Python 中,async 和 await 是用于异步编程的关键字,引入了异步/协程(coroutine)的概念。核心思想是通过 协程(Coroutine) 和 事件循环(Event Loop) 实现非阻塞并发&…

关于接口测试的HTTP基础【接口测试】

HTTP 协议基础知识总结(用于 Web API 接口测试)接口测试中最常用的通讯协议就是 HTTP(Hypertext Transfer Protocol),本节旨在帮助理解 HTTP 协议的结构、工作流程以及如何用于接口测试。一、HTTP 协议简介HTTP 是一种…

STM32 DMA通信详解

STM32 DMA通信详解DMA(Direct Memory Access,直接内存访问)是STM32微控制器中一种重要的数据传输机制,它允许外设与内存之间或内存与内存之间直接传输数据,而无需CPU的干预。这种机制可以显著提高系统性能,特别是在需要高速数据传…

pytest--1--pytest-mock常用的方法

1. mocker.patch mocker.patch 是最常用的方法,用于替换指定的对象或方法。它可以用于模拟函数、方法、类或模块。 语法 mocker.patch(target, newDEFAULT, specNone, createFalse, spec_setNone, autospecNone, new_callableNone, **kwargs)示例 import pytest fro…

尚庭公寓----------分页查询

根据条件分页查询公寓列表 进行分页配置 package com.nie.lease.common.mybatisplus;import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.in…

【图像质量评价指标】图像熵(Image Entropy) —— 熵值饱和现象

文章目录一、图像熵(Image Entropy)(1)基本原理(2)优势与局限(3)推荐策略多指标联合推荐体系噪声应对机制建议二、项目实战 —— 通过图像熵评价序列图像,并提取最优图像…