在腾讯云 CVM(云服务器)上通过远程工具访问 Ubuntu 桌面界面,需要完成以下步骤:
✅ 前提条件
- 已创建 Ubuntu 实例(建议 Ubuntu 20.04/22.04 LTS)。
- 已配置安全组规则:放行桌面相关端口(如 VNC/RDP/X11 等)。
- 本地电脑有图形化远程工具(如 x2go、NoMachine、VNC Viewer、RustDesk 等)。
⚠️ 注意:Ubuntu Server 默认无 GUI;需先安装桌面环境。
🔧 步骤一:安装桌面环境(以 GNOME 为例)
登录 SSH(通过腾讯云控制台或本地终端):
ssh ubuntu@<你的公网IP>
1. 更新软件源并安装桌面 + 基础组件
sudo apt update && sudo apt upgrade -y
sudo apt install ubuntu-desktop -y
# 若网络慢,可换国内镜像(可选)
# sudo sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
💡 提示:
ubuntu-desktop包较大(约 1~2GB),首次安装可能耗时较长。
2. 安装轻量级替代方案(推荐用于低配机器)
若资源紧张,可用更轻量的桌面:
# XFCE 桌面(推荐)
sudo apt install xfce4 xfce4-goodies -y
# 或 LXDE/LXQt
sudo apt install lxde-core lxterminal -y
🌐 步骤二:配置远程桌面协议
方案 A:使用 x2go(推荐!稳定、加密、支持剪贴板/音频)
✅ 优点:基于 SSH 隧道,无需额外开放端口,安全性高
✅ 适合:日常开发、远程办公
服务端安装(CVM 上):
sudo apt install x2goserver x2goserver-xsession -y
客户端安装(本地电脑):
- Windows/macOS/Linux:下载 x2goclient
- 连接参数示例:
- Host:
<CVM 公网IP> - Port:
22(SSH 默认) - Login:
ubuntu - Session Type:
XFCE(或其他你安装的桌面) - 勾选 “Use SSH tunnel”
- Host:
🔒 安全组需放行 TCP 22(SSH),其他端口自动由 x2go 动态协商。
方案 B:使用 NoMachine(高性能、多屏支持)
✅ 优点:延迟低、画质好、支持 USB 重定向
❌ 缺点:需额外安装 NX 服务,安全组需放行 4000 端口
服务端:
wget https://download.nomachine.com/download/8.0/NX/nomachine_8.0.5_1_amd64.deb
sudo dpkg -i nomachine_*.deb
sudo nxserver --start
客户端:
- 下载 NoMachine,安装后新建会话:
- Host:
<CVM IP> - Port:
4000 - User:
ubuntu
- Host:
🔐 安全组需放行:TCP 4000
方案 C:使用 VNC(传统方式,不推荐生产环境)
⚠️ 风险:明文传输,需配合 SSH 隧道或 TLS 加密
安装 TigerVNC:
sudo apt install tigervnc-standalone-server tigervnc-common -y
mkdir ~/.vnc
vncpasswd # 设置密码
echo "export XAUTHORITY=/home/ubuntu/.Xauthority" >> ~/.bashrc
启动 VNC 服务(例如显示 :1):
vncserver :1 -geometry 1920x1080 -depth 24
配置自动启动桌面(可选):
编辑 ~/.vnc/xstartup:
#!/bin/bash
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4 # 或 gnome-session, unity 等
chmod +x ~/.vnc/xstartup
vncserver -kill :1
vncserver :1
客户端连接:
- 工具:RealVNC Viewer / TightVNC
- 地址:
<CVM_IP>:5901(对应 :1)
🔐 强烈建议:通过 SSH 隧道转发 VNC 端口,避免直接暴露 5900+:
ssh -L 5901:localhost:5901 ubuntu@<CVM_IP>然后本地访问
localhost:5901
🛡️ 安全组配置(腾讯云控制台)
进入【云服务器】→ 选择实例 → 【安全组】→ 添加入方向规则:
| 方案 | 端口 | 协议 | 来源 |
|---|---|---|---|
| x2go | 22 | TCP | 0.0.0.0/0(或指定 IP) |
| NoMachine | 4000 | TCP | 仅允许你的公网 IP |
| VNC | 5900+ | TCP | 务必结合 SSH 隧道,不建议直开 |
✅ 最佳实践:所有远程桌面均通过 SSH 加密通道(如 x2go、NoMachine、VNC over SSH)
🧪 验证是否成功
- 打开远程工具,连接后应看到完整 Ubuntu 桌面。
- 测试:打开浏览器、终端、文件管理器是否正常。
- 检查资源:
htop查看 CPU/内存占用(桌面会消耗较多资源)。
❗ 常见问题
| 问题 | 解决方案 |
|---|---|
| 黑屏/无法登录 | 检查 xstartup 脚本权限;尝试重启 VNC/x2go 服务 |
| 分辨率不对 | 在客户端设置中调整分辨率;或修改 vncserver 的 -geometry 参数 |
| 字体模糊 | 安装 fonts-wqy-zenhei 等中文字体;调整 DPI 设置 |
| 性能卡顿 | 降低画质(如关闭特效)、改用 XFCE/LXDE;升级实例配置 |
需要我帮你生成一份自动化部署脚本(含 x2go + XFCE + 安全组说明模板)吗?
云小栈