很多时候我们的 Ubuntu 服务器是无桌面纯命令行版本,想要可视化操作、远程桌面控制,VNC 是最轻量化、兼容性最强的方案。
本文手把手教你在 Ubuntu 20.04 / 22.04 系统上安装配置TigerVNC Server,搭配轻量 XFCE 桌面,解决卡顿、黑屏、无法开机自启等常见问题,全程一条命令复刻,新手也能一次成功。
✅ 适配系统:Ubuntu 20.04、Ubuntu 22.04 LTS ✅ 环境:无桌面服务器版 / 带桌面桌面版通用 ✅ 优势:轻量流畅、占用资源低、稳定不黑屏、支持开机自启
一、前期准备 & 环境更新
首先远程 SSH 登录 Ubuntu 服务器,更新系统软件源,保证后续依赖安装完整:
sudo apt update && sudo apt upgrade -y
等待系统更新完成,避免因软件源版本老旧导致安装失败、依赖缺失等问题。
二、安装轻量桌面环境(必装)
纯净 Ubuntu 服务器默认没有图形桌面,VNC 只是远程传输协议,必须搭配桌面环境才能使用。
不推荐默认 GNOME 桌面(卡顿严重、兼容性差),这里选择XFCE 轻量桌面,资源占用极低,适配 VNC 最佳:
sudo apt install xfce4 xfce4-goodies -y
安装耗时根据服务器网速而定,耐心等待即可,安装完成后无报错即为正常。
三、安装 TigerVNC Server 服务端
TigerVNC 是 Ubuntu 官方推荐的 VNC 服务,相比传统 TightVNC 性能更好、兼容性更强,是目前最优选择。
执行以下命令安装完整 VNC 服务组件:
sudo apt install tigervnc-standalone-server tigervnc-xorg-extension -y
安装完成后,可通过以下命令验证是否安装成功:
vncserver -version
输出版本信息即代表安装成功。
四、初始化 VNC 密码(核心步骤)
首次启动 VNC 需要设置远程连接密码,直接执行启动命令,自动初始化配置文件:
vncserver
执行后根据提示操作:
- 输入自定义连接密码(远程连接时需要输入,不会明文显示)
- 确认密码
- 询问是否设置只读密码,直接输入 n 回车(不需要只读权限)
执行成功后,系统会默认开启 :1 桌面(对应端口 5901),这是我们后续连接的核心端口。
五、修复 VNC 桌面黑屏问题(关键避坑)
很多人安装后连接黑屏、只有鼠标,是因为 VNC 启动脚本未配置桌面环境。我们需要编辑 xstartup 配置文件:
1. 先关闭当前 VNC 进程:
vncserver -kill :1
2. 编辑启动配置文件:
nano ~/.vnc/xstartup
3. 清空原有所有内容,粘贴以下适配 XFCE 桌面的配置:
#!/bin/bash
export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
startxfce4
4. 保存退出:先按 Ctrl+O 保存,回车确认,再按 Ctrl+X 退出。
5. 赋予配置文件执行权限:
chmod +x ~/.vnc/xstartup
六、自定义分辨率启动 VNC
指定 1920*1080 分辨率、24位色深,关闭本地独占,支持外网远程连接:
vncserver :1 -geometry 1920x1080 -depth 24 -localhost no
参数说明:
:1:桌面序号,对应端口 5901(:2 对应5902,以此类推)-geometry 1920x1080:自定义桌面分辨率-depth 24:24位真彩色,画面清晰-localhost no:允许外网IP直接连接,不限制本地访问
七、配置防火墙放行 VNC 端口
Ubuntu 默认防火墙 UFW 会拦截 VNC 端口,需要手动放行 5901 端口:
sudo ufw allow 5901/tcp
sudo ufw reload
如果是云服务器(阿里云/腾讯云/华为云),还需要在云服务器控制台安全组手动放行 5901 端口,否则无法外网连接。
八、配置 VNC 开机自启(永久生效)
为了避免服务器重启后 VNC 失效,配置系统级开机自启服务:
1. 创建系统服务文件:
sudo nano /etc/systemd/system/vncserver@.service
2. 粘贴以下完整配置(注意替换用户名,将 ubuntu 改为你的实际服务器用户名):
[Unit]
Description=TigerVNC Remote Desktop Service
After=network.target
[Service]
Type=simple
User=ubuntu
ExecStart=/usr/bin/vncserver :1 -geometry 1920x1080 -depth 24 -localhost no
ExecStop=/usr/bin/vncserver -kill :1
Restart=on-failure
[Install]
WantedBy=multi-user.target
3. 保存退出,重载系统服务:
sudo systemctl daemon-reload
4. 设置开机自启并启动服务:
sudo systemctl enable vncserver@1
sudo systemctl start vncserver@1
5. 查看服务运行状态:
systemctl status vncserver@1
显示 active (running) 即为配置成功。
九、客户端连接 VNC 远程桌面
1. 客户端工具选择
Windows/Mac 推荐使用:TightVNC Viewer、RealVNC Viewer(免费无广告)
2. 连接地址格式
在客户端输入服务器 IP + 端口:
服务器公网IP:5901
输入之前设置的 VNC 连接密码,即可成功进入 Ubuntu 可视化桌面,操作流畅无卡顿。
十、常用运维命令 & 常见问题排查
1. 常用命令
# 关闭 VNC 进程
vncserver -kill :1
# 重启 VNC 服务
sudo systemctl restart vncserver@1
# 关闭 VNC 开机自启
sudo systemctl disable vncserver@1
2. 常见问题解决
问题1:连接后黑屏/只有鼠标 解决:重新执行第五步 xstartup 配置,赋予权限后重启 VNC 进程即可。
问题2:连接超时、无法连接 解决:检查服务器防火墙 5901 端口是否放行,云服务器安全组是否添加端口规则。
问题3:VNC 启动失败 解决:查看日志 systemctl status vncserver@1,检查用户名是否配置错误、端口是否被占用。
十一、总结
1. 优先选择 TigerVNC + XFCE 桌面,是 Ubuntu 远程桌面最稳定、最轻量的组合; 2. 必须配置 xstartup 文件,彻底解决黑屏通病; 3. 云服务器务必放行防火墙和安全组 5901 端口; 4. 配置 systemd 开机自启,告别重启失效问题。
按照本文步骤操作,可实现 Ubuntu 服务器永久稳定远程桌面访问,适合日常运维、可视化操作、程序图形化调试等场景。