Ubuntu 从零搭建 VNC Server 远程桌面(20.04/22.04 通用,亲测可用)

18次阅读
没有评论

很多时候我们的 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

执行后根据提示操作:

  1. 输入自定义连接密码(远程连接时需要输入,不会明文显示)
  2. 确认密码
  3. 询问是否设置只读密码,直接输入 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 服务器永久稳定远程桌面访问,适合日常运维、可视化操作、程序图形化调试等场景。

正文完
可以使用微信扫码关注公众号(ID:xzluomor)
post-qrcode
 0
评论(没有评论)
验证码