为无图形界面服务器构建独立图形桌面环境:多用户环境下用 Docker + NoMachine构建可远程访问的图形桌面(1)
其他 博文 69

在科研或者开发过程中,出于资源控制和多用户管理的需要,往往不会安装图形化桌面系统,用户只能通过命令行方式进行远程操作。这种情况下,如果你想运行一些需要图形化支持的软件(如 Gazebo、Blender、浏览器调试、图形界面调参工具等),由于服务器本身没装桌面,因此只能通过命令行交互,无法直接运行3D渲染软件。尤其是针对使用实验室集群服务器的情况,该如何在不影响其他用户的前提下为自己准备图形界面?

针对这一问题我们可以将完整桌面环境(基于 xfce4)封装在 Docker 容器中的方案,使图形界面运行于容器内部,并通过 NoMachine 在本地实现远程访问。

1.拉取镜像并创建容器

推荐使用支持 CUDA 的镜像:

docker pull registry.cn-hongkong.aliyuncs.com/gezp/ubuntu-desktop:20.04-cu11.7.1

这里使用了阿里云的仓库进行拉取,具体可以按照需求更改基础镜像;

创建容器并挂载你的数据目录:

docker run -d --restart=on-failure --cap-add=SYS_PTRACE --gpus all -dit \
  --name XXX \
  -v /home/XXX:/workspace \
  -p 7869:22 \
  --shm-size=30G \
  registry.cn-hongkong.aliyuncs.com/gezp/ubuntu-desktop:20.04-cu11.7.1 \
  /bin/bash

参数说明:

  • --gpus all 启用 GPU;

  • --shm-size=30G 防止图形程序因共享内存不足崩溃;

  •  -v 参数表示挂载本地的路径到容器内,方便后续传输文件;

  •  -p 7869:22映射 SSH 端口。

​2.配置容器

这一步主要是创建

参考教程:

为无图形界面服务器构建独立图形桌面环境:多用户环境下用 Docker + NoMachine构建可远程访问的图形桌面(1)
https://talk2zbw.com/archives/ubuntu%20nomachine
作者
zbw
发布于
更新于
许可