跳到主要内容Ubuntu 24.04 系统下 VNC Server 安装与配置指南 | 极客日志Shell / Bash
Ubuntu 24.04 系统下 VNC Server 安装与配置指南
Ubuntu 24.04 系统默认使用 Wayland 显示服务器,与 VNC 兼容性较差。本文介绍基于 TigerVNC 实现远程桌面连接的完整流程。主要步骤包括更新系统包、安装 TigerVNC Server、设置访问密码、配置 xstartup 文件以支持 GNOME 桌面、手动启动服务并验证、注册 systemd 服务实现开机自启,以及修改 GDM3 配置禁用 Wayland 强制使用 Xorg。最后通过 VNC Viewer 客户端连接服务器 IP 及端口完成远程访问。若遇连接拒绝或黑屏问题,可检查防火墙端口、xstartup 权限及 Wayland 状态。
FrontendX1 浏览 Ubuntu 24.04 系统下 VNC Server 完整安装与配置指南
在远程管理 Ubuntu 24.04 服务器或桌面时,VNC(Virtual Network Computing)是常用工具,能提供图形化远程桌面体验。本文将以 TigerVNC(稳定性高、兼容性强的 VNC 实现)为例,详细讲解从系统更新到服务注册、远程连接的全流程。
一、前置准备:更新系统安装包
在安装任何新软件前,建议先更新系统的软件包索引,确保后续安装的软件是最新版本,同时避免依赖冲突。
打开终端(快捷键 Ctrl+Alt+T),执行以下命令:
apt update
sudo
- 说明:
sudo 表示以管理员权限执行,执行时需输入当前用户密码(输入时密码不显示,输完按回车即可);apt update 仅更新软件包索引,不实际升级软件,过程通常耗时 1-3 分钟(取决于网络速度)。
若为 server 版(没有图形界面组件),先安装 GNOME 完整会话组件
sudo apt install -y gnome-session gnome-shell gnome-panel gnome-settings-daemon
sudo apt install -y dbus-x11 x11-xserver-utils xauth
二、安装 TigerVNC Server
TigerVNC 是官方推荐的独立 VNC 服务器,支持多种桌面环境(如 GNOME、XFCE),此处提供在线安装和离线安装两种方式,可根据网络环境选择。
方式 1:在线安装(推荐,网络通畅时)
直接通过 Ubuntu 官方软件源安装,命令如下:
sudo apt install tigervnc-standalone-server
- 执行过程中会提示'是否继续安装',输入
y 并回车即可,系统会自动下载并安装依赖包,全程无需手动干预。
三、设置 VNC 访问密码
VNC 连接需密码验证,确保远程访问安全。执行以下命令设置密码:
- 首先输入密码(密码长度建议 6-8 位,需包含字母和数字,输入时不显示),按回车;
- 再次输入密码确认,按回车;
- 最后会提示
Would you like to enter a view-only password (y/n)?(是否设置'仅查看'密码,即只能看不能操作),务必输入 n 并回车(避免限制操作权限)。
- 密码会保存在
~/.vnc/ 目录下(~ 表示当前用户的家目录),后续可通过再次执行 vncpasswd 修改密码。
四、创建 xstartup 配置文件
VNC 启动时需要加载桌面环境配置,需手动创建 xstartup 文件(指定使用 Ubuntu 默认的 GNOME 桌面),步骤如下:
1. 创建并编辑文件
执行命令打开 nano 文本编辑器,创建 ~/.vnc/xstartup 文件
sudo nano ~/.vnc/xstartup
2. 粘贴配置内容
将以下内容完整复制到编辑器中(注意不要遗漏或修改任何一行):
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
export GNOME_SHELL_SESSION_MODE=ubuntu
export XDG_CURRENT_DESKTOP=ubuntu:GNOME
export XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg
exec gnome-session
3. 保存并退出
- 按
Ctrl+O(字母 O,不是数字 0)保存文件,按回车确认文件名;
- 按
Ctrl+X 退出 nano 编辑器。
4. 赋予执行权限(关键步骤)
刚创建的 xstartup 文件默认没有执行权限,需手动添加,否则 VNC 启动时会报错:
sudo chmod +x ~/.vnc/xstartup
chmod +x 表示给文件添加'可执行'权限,确保 VNC 服务能正常调用该配置。
五、手动启动 VNC Server 并验证
配置完成后,先手动启动 VNC 服务,验证是否能正常运行。
1. 手动启动命令
vncserver :3 -geometry 1920x1080 -localhost no -depth 24
- 参数说明:
:3:指定 VNC 的显示编号为 3(对应端口为 5903,端口规则:5900 + 显示编号);
-geometry 1920x1080:设置远程桌面分辨率为 1920x1080(可根据需求修改,如 1366x768);
-localhost no:允许非本地设备(如其他电脑)连接(若设为 yes,则仅允许服务器本机连接);
-depth 24:设置颜色深度为 24 位(色彩显示更细腻,常用值还有 16 位)。
2. 验证启动状态
TigerVNC server sessions: X DISPLAY # RFB PORT # RFB UNIX PATH PROCESS ID # SERVER 3 5903 2231 Xtigervnc
- 关键信息:
X DISPLAY # 为 3,RFB PORT # 为 5903(后续远程连接需用到该端口),PROCESS ID # 为服务进程号(可用于强制关闭服务)。
- 若启动失败:可执行
vncserver -kill :3 关闭残留进程,检查 xstartup 文件内容是否正确,或重新执行前面的配置步骤。
六、注册 VNC 系统服务(实现开机自启)
手动启动的 VNC 服务在服务器重启后会失效,需将其注册为系统服务,实现'开机自动启动'和'服务化管理'(如启停、状态查看)。
1. 创建服务配置文件
需在 /etc/systemd/system/ 目录下创建 vncserver@:3.service 文件(@:3 对应前面的显示编号 3,若修改显示编号,此处需同步修改)。
sudo nano /etc/systemd/system/vncserver@:3.service
2. 粘贴服务配置内容
将以下内容复制到编辑器中,注意替换 <username> 为你的 Ubuntu 用户名(如当前用户是 ubuntu,则将所有 <username> 改为 ubuntu):
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
User=<username>
Environment=HOME=/home/<username>
Environment="DISPLAY=:%i"
Environment=PATH=/usr/bin:/usr/sbin:/bin:/sbin
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/bin/sh -c '/usr/bin/vncserver %i -geometry 1920x1080 -localhost no'
PIDFile=/home/<username>/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
3. 重新加载系统服务
修改或新增服务配置文件后,需重新加载 systemd 配置,让系统识别新服务:
sudo systemctl daemon-reload
4. 设置开机自启并启动服务
sudo systemctl enable vncserver@:3.service
成功会提示:Created symlink /etc/systemd/system/multi-user.target.wants/vncserver@:3.service → /etc/systemd/system/vncserver@:3.service.
sudo systemctl start vncserver@:3.service
sudo systemctl status vncserver@:3.service
- 若输出中包含
active (running)(绿色),说明服务正常运行;
- 若显示
failed(红色),执行以下命令查看详细日志,定位失败原因:
journalctl -xeu vncserver@:3.service
七、关键配置:禁用 Wayland 并重启 GDM3
Ubuntu 24.04 默认使用 Wayland 显示服务器,但 Wayland 与 VNC 兼容性较差,会导致远程桌面无法正常显示,需强制使用 Xorg 显示服务器。
1. 修改 GDM3 配置文件
GDM3 是 Ubuntu 的默认登录管理器,需修改其配置禁用 Wayland:
sudo nano /etc/gdm3/custom.conf
2. 禁用 Wayland
在打开的文件中,找到 #WaylandEnable=false 这一行,删除开头的 # 注释符(若文件中没有这一行,直接在末尾添加 WaylandEnable=false)。
3. 重启 GDM3 服务
修改配置后需重启 GDM3 生效(重启过程中当前桌面会暂时断开,建议保存好工作内容):
sudo systemctl restart gdm3
八、远程连接:使用 VNC Viewer 访问
完成以上所有配置后,即可通过 VNC 客户端(如 VNC Viewer、RealVNC)连接 Ubuntu 服务器。
连接步骤:
- 下载并安装 VNC 客户端:在本地电脑(Windows/macOS/Linux)上安装 VNC Viewer(下载地址:https://www.realvnc.com/,免费版可满足基本需求)。
- 输入连接地址:打开 VNC Viewer,在地址栏输入
服务器 IP:5903(如 192.168.1.100:5903,5903 对应前面的显示编号 3)。
- 验证密码:点击连接后,输入第三步设置的 VNC 密码,即可进入 Ubuntu 远程桌面。
常见问题与解决方法
- 远程连接时提示'连接被拒绝':
- 检查 VNC 服务是否正常运行:
sudo systemctl status vncserver@:3.service;
- 确认服务器防火墙是否开放 5903 端口:执行
sudo ufw allow 5903/tcp 开放端口(若启用了防火墙)。
- 远程桌面显示空白或黑屏:
- 检查
xstartup 文件内容是否正确,且是否有执行权限(sudo chmod +x ~/.vnc/xstartup);
- 确认 Wayland 已禁用(
cat /etc/gdm3/custom.conf | grep WaylandEnable 查看是否为 WaylandEnable=false)。
- 服务启动失败,日志提示'权限不足':
- 检查服务配置文件中
User 和 PIDFile 路径是否正确(尤其是普通用户和 root 用户的路径区别);
- 确保
~/.vnc/ 目录的权限为当前用户所有:sudo chown -R <username>:<username> ~/.vnc/。
微信扫一扫,关注极客日志
微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
相关免费在线工具
- Base64 字符串编码/解码
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
- Base64 文件转换器
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
- Markdown 转 HTML
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online
- HTML 转 Markdown
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML 转 Markdown在线工具,online
- JSON 压缩
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
- JSON美化和格式化
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online