当前位置: 首页 > news >正文

基于 Windows + Ubuntu 练习 MuJoCo 模拟

基于 Windows + Ubuntu 练习 MuJoCo 模拟

在本地 Windows 电脑上学习 MuJoCo 时,如果服务器是无图形界面的 Ubuntu 环境,最常见的问题是:仿真程序可以运行,但看不到 MuJoCo Viewer 的可视化窗口。本文记录了一套基于 Windows + Ubuntu 服务器的 MuJoCo 可视化配置流程,使用 XFCE 图形桌面与 TigerVNC 搭建远程桌面环境,并通过 SSH 隧道在本地安全访问服务器上的 MuJoCo 仿真画面。该流程适合用于 MuJoCo 入门、强化学习环境调试、机械臂仿真观察,以及后续基于 Gymnasium / Gymnasium-Robotics 的具身智能学习。

服务器配置

| 操作系统 | Ubuntu `22.04.5 LTS` |
| CPU | `16` 核心 |
| 内存 | `80 GB` |
| GPU | NVIDIA GeForce RTX `4090 D`,显存约 `24 GB` |
| NVIDIA 驱动 | `580.76.05` |
| CUDA 兼容版本 | `13.0` |
| Conda | `24.4.0` |

—— 服务器选择可以参考我的配置,我使用的服务器提供商是 AutoDL,具体配置根据任务强度调整。

Ubuntu 配置步骤

环境配置

  1. 基于ubuntu镜像,在服务器终端执行如下代码:
    这一步是在 Ubuntu 服务器上安装 MuJoCo 可视化所需的基础工具、XFCE 图形桌面、TigerVNC 远程桌面服务,以及 OpenGL/Mesa 等渲染依赖,使无显示器的云服务器能够通过 VNC 打开并观察 MuJoCo 仿真画面。
apt-get updateDEBIAN_FRONTEND=noninteractive apt-get install -y \git tmux ffmpeg \xfce4 xfce4-goodies dbus-x11 xauth \tigervnc-standalone-server tigervnc-tools \libgl1 libegl1 libglfw3 libgl1-mesa-dri mesa-utils
  1. 创建一次性完整 Python 环境 (建议用conda管理环境):
conda create -n mujoco-learning python=3.10 -y
conda activate mujoco-learningpip install \mujoco \numpy scipy matplotlib \imageio imageio-ffmpeg \gymnasium[mujoco] gymnasium-robotics \torch stable-baselines3 tensorboard

MuJoCo 官方 Python 包已经包含 MuJoCo 动态库,不需要单独下载桌面安装程序。

配置 VNC

  1. 在服务器执行:
vncpasswd
mkdir -p /root/.vnc
  1. 创建 /root/.vnc/xstartup:
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec dbus-launch --exit-with-session startxfce4
  1. 然后:
chmod +x /root/.vnc/xstartuptigervncserver :1 \-localhost yes \-geometry 1600x900 \-depth 24

其中 ” :1” 对应服务器端口:5900 + 1 = 5901

不要把 VNC 端口直接暴露到公网。-localhost yes 表示 VNC 只监听服务器本机地址,必须通过 SSH 隧道访问,安全性更高。

在配置自动启动之前,每次 AutoDL 重新开机后,需要重新启动一次

tigervncserver :1

Windows 连接方式

  1. 在 Windows PowerShell 中建立隧道,运行(假设使用 AutoDL 作为服务器提供商):
ssh -CNg -L 5901:127.0.0.1:5901 root@<AUTODL_HOST> -p <SSH_PORT>

其中 root@<AUTODL_HOST><SSH_PORT> 以及密码 ****通过AutoDL的SSH获取。

image.png

保持 PowerShell 窗口运行。

切换 Wi-Fi 后,原 SSH 连接通常会断开,需重新打开 PowerShell 连接。

  1. 打开本地 TigerVNC Viewer,连接:
127.0.0.1:5901

如果一切正常将进入可视化桌面:

image 1

AutoDL 官方说明,个人用户可以使用 SSH 隧道代理任意端口,因此不需要企业认证,也不需要占用平台公开映射的 6006 或 6008 端口。

如果仍然失败,先普通登录 AutoDL:

ssh root@<AUTODL_HOST> -p <SSH_PORT>

在服务器检查 VNC:

tigervncserver -list

如果没有 :1 会话,重新启动:

cd /root/autodl-tmp/repos/mujoco-learning
bash server/start_vnc.sh

启动 MuJoCo Viewer

在 AutoDL 控制台输入

export DISPLAY=:1
python -m mujoco.viewer --[path].xml

切换到 TigerVNC Viewer 即可看到 MuJoCo 环境窗口:

771bf93ee7f1a45eb18189d72f7dde4

Q & A

记录交互式学习过程中遇到的问题与解决办法,持续更新。

  1. 在 ubuntu 终端尝试执行 python -m mujoco_viewer 时发生如下报错
/root/miniconda3/envs/mujoco-learning/lib/python3.10/site-packages/glfw/**init**.py:917: GLFWError: (65550) b'X11: Failed to open display :1'
warnings.warn(message, GLFWError)
ERROR: could not initialize GLFW

这个报错说明:DISPLAY=:1 上没有可用的 X/VNC 桌面,所以 MuJoCo Viewer 的 GLFW 窗口打不开。服务器可能经历过重启,尝试输入以下命令后重新运行 mujoco-viewer:

tigervncserver :1
http://www.jsqmd.com/news/978146/

相关文章:

  • 保姆级教程:用安信可ESP32S3开发板,把闲置USB摄像头变成无线监控(支持手机浏览器查看)
  • 明明插了麦克风却没声音?这些坑你踩了几个?
  • Stable Baselines3:5分钟掌握PyTorch强化学习框架
  • 告别配置混乱!用Apollo Profiles统一管理Spring Boot多环境配置(附Idea/Eclipse实战)
  • 基础采集设备
  • 2026年即墨区马桶疏通客服电话及服务指南 - 品牌排行榜
  • 2021年量产的时间窗口:曲速科技在推理赛道形成先发积累
  • Vim党福音:用Coc.nvim + Clangd搞定嵌入式开发,解决交叉编译链头文件索引的终极脚本
  • Elasticsearch Python Client:官方出品,专治搜索对接的脏活
  • 期末论文复习双重压力?百考通AI帮你高效搞定课业写作难题
  • 智能锡膏柜选购亲测分享:技术好的厂家推荐
  • 2026扇形淋浴房技术解析:宜宾卫生间隔断品牌推荐/宜宾卫生间隔断定制/宜宾淋浴房品牌推荐/材质与空间适配全推荐 - 优质品牌商家
  • 鸿蒙6.0应用开发——网络状态管理
  • 2026年Q2四川地区优秀管理体系认证咨询机构排行 - 优质品牌商家
  • 避开这些坑!用立创EDA手动拼板PCB的完整流程与注意事项
  • 高效空气过滤器哪家好 2026年市场选择指南 - 品牌排行榜
  • LeetCode 2161.根据给定数字划分数组:双指针(O(1)但非源地操作)
  • 鸿蒙原生 ArkTS:margin 溢出、Row 弹性分配与 alignItems 的交互
  • 告别命令行!在Docker Dashboard里点点鼠标就能管理你的Mac版SQL Server
  • 告别截图!MapChart遗传图谱高清导出与个性化样式进阶教程
  • 电商物流避坑指南:这8个快递查询痛点,你遇到过几个?
  • 市面上正规的雾森系统厂家哪家可靠
  • 数据库(基础):
  • 响应式编程:map与flatMap实战解析
  • 2026年评价高的质量管理体系认证top5机构盘点:成都iso27017认证/成都iso27701认证/实力盘点 - 优质品牌商家
  • 大模型应用专家,做好随时涨薪的准备吧~
  • 2026波纹补偿器推荐榜:河南压盖式松套伸缩器/河南双法兰传力伸缩器/河南双法兰限位伸缩器/适配多场景耐腐蚀需求 - 优质品牌商家
  • 从实验室到机柜:1553B总线‘短截线’长度选择的实战避坑指南(直接耦合 vs 间接耦合详解)
  • 三步永久保存微信聊天记录:WeChatMsg免费工具完整指南
  • STM32F4 CANopen SDO通信调试实录:我是如何用逻辑分析仪抓包解决数据帧错误的