Ubuntu TigerVNC远程连接配置
在租赁的 Ubuntu 服务器上配置 TigerVNC 实现远程登录,可按以下步骤操作,结合你的环境和需求优化:
一、安装 TigerVNC 服务器
先更新系统包列表:
1
sudo apt update
安装 TigerVNC 核心组件(包含服务器和 Xorg 扩展,确保 GLX 支持):
1
sudo apt install tigervnc-standalone-server tigervnc-xorg-extension tigervnc-viewer
tigervnc-standalone-server:VNC 服务器主程序tigervnc-xorg-extension:提供 GLX 扩展支持(解决图形加速问题,尤其适合 IsaacGym 等需要 OpenGL 的场景)tigervnc-viewer:可选,用于服务器本地测试连接
二、初始化 VNC 密码
首次使用需设置远程登录密码(客户端连接时使用):
1 | vncpasswd |
- 输入密码(建议 8 位以内,超过部分会被截断)
- 选择是否设置“仅查看”密码(按需选择,一般选
n即可)
三、配置 VNC 启动参数(关键)
为确保图形界面正常且支持 GPU 加速,需自定义启动脚本:
创建 VNC 配置目录:
1
mkdir -p ~/.vnc
生成默认启动脚本并编辑:
1
2
3vncserver # 首次启动会自动生成 ~/.vnc/xstartup 脚本,启动后关闭临时会话
vncserver -kill :1 # 关闭刚才的临时会话(:1 是会话编号)
vim ~/.vnc/xstartup修改
xstartup脚本内容(适配 Ubuntu 桌面环境,确保 GLX 生效):1
2
3
4
5
6
7
8
9
10
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
export XKL_XMODMAP_DISABLE=1
# 启动 GNOME 桌面(如果是 Ubuntu 20.04,默认桌面是 GNOME)
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
gnome-session & # 启动 GNOME 桌面- 若服务器默认是 Xfce 桌面(轻量环境),将
gnome-session &替换为startxfce4 &
- 若服务器默认是 Xfce 桌面(轻量环境),将
赋予脚本执行权限:
1
chmod +x ~/.vnc/xstartup
安装桌面环境
若服务器未安装桌面环境,VNC 无法启动图形界面。执行以下命令安装(以 GNOME 为例):
1 | sudo apt install ubuntu-desktop |
安装完成后重启 VNC 服务:
1 | vncserver -kill :1 |
四、启动 VNC 服务器
启动一个带屏幕分辨率和颜色深度的会话(确保支持图形加速):
1 | vncserver -geometry 1920x1080 -depth 24 -localhost no |
- 参数说明:
-geometry 1920x1080:设置远程桌面分辨率(按需调整)-depth 24:颜色深度(24 位真彩色,兼容大多数场景)-localhost no:允许非本地主机连接(关键!否则远程客户端无法访问)
启动成功后,会显示会话信息,例如:
1 | New 'workspace.featurize.cn:1 (featurize)' desktop at :1 on machine workspace.featurize.cn |
- 其中
:1是会话编号,对应端口5901(VNC 默认端口为 5900 + 会话编号)
五、客户端连接 VNC 服务器
本地安装 VNC 客户端:
- Windows:推荐 VNC Viewer 或 TigerVNC Viewer
- Mac:使用系统自带的“屏幕共享”(输入地址时选择 VNC 协议)或上述客户端
连接地址格式:
由于你的服务器通过 SSH 端口42712访问,VNC 端口需结合 SSH 转发(避免直接暴露端口),推荐 SSH 隧道转发 方式(更安全):本地终端执行端口转发(Windows 可用 PowerShell 或 Git Bash,Mac/Linux 直接用终端):
1
ssh -L 5901:localhost:5901 featurize@workspace.featurize.cn -p (xxx)
- 作用:将服务器的
5901端口(VNC 会话 :1)转发到本地5901端口
- 作用:将服务器的
客户端连接本地转发端口:
在 VNC 客户端中输入地址localhost:5901,输入之前设置的 VNC 密码,即可连接远程桌面。
六、常用 VNC 命令
- 查看已启动的 VNC 会话:
1
vncserver -list
- 关闭指定会话(例如关闭 :1):
1
vncserver -kill :1
- 重启 VNC 服务(先关闭再启动):
1
vncserver -kill :1 && vncserver -geometry 1920x1080 -depth 24 -localhost no
七、验证 GLX 支持(针对 IsaacGym 需求)
连接 VNC 桌面后,在远程终端中执行:
1 | glxinfo | grep "OpenGL vendor" |
- 若输出包含
NVIDIA Corporation,说明 GLX 扩展正常,GPU 加速可用,可避免“GLX extension missing”错误。
注意事项
- 租赁服务器可能有防火墙限制,若直接连接
workspace.featurize.cn:5901失败,务必用 SSH 隧道转发(上述步骤 5 已涵盖)。 - 若桌面显示异常(如黑屏),检查
~/.vnc/xstartup脚本是否正确,确保桌面环境(GNOME/Xfce)已安装(可通过sudo apt install ubuntu-desktop补装桌面)。 - 长时间不用建议关闭 VNC 会话,避免占用服务器资源。
按以上步骤操作,即可通过 TigerVNC 远程登录服务器并使用图形界面,同时满足 IsaacGym 等场景的 GPU 加速需求。
修复 conda:/environment/miniconda3/bin/pip install –upgrade –force-reinstall requests
http://example.com/2025/10/24/Ubuntu-TigerVNC%E8%BF%9C%E7%A8%8B%E8%BF%9E%E6%8E%A5%E9%85%8D%E7%BD%AE/
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.