Ubuntu 24.04 系统下 VNC Server 完整安装与配置指南_ubuntu安装vnc
Ubuntu 24.04 系统下 VNC Server 完整安装与配置指南
在远程管理 Ubuntu 24.04 服务器或桌面时,VNC(Virtual Network Computing)是常用工具,能提供图形化远程桌面体验。本文将以 TigerVNC(稳定性高、兼容性强的 VNC 实现)为例,详细讲解从系统更新到服务注册、远程连接的全流程,适合新手和有一定 Linux 基础的用户参考。
一、前置准备:更新系统安装包
在安装任何新软件前,建议先更新系统的软件包索引,确保后续安装的软件是最新版本,同时避免依赖冲突。
打开终端(快捷键 Ctrl+Alt+T
),执行以下命令:
bash
sudo apt update
- 说明:
sudo
表示以管理员权限执行,执行时需输入当前用户密码(输入时密码不显示,输完按回车即可);apt update
仅更新软件包索引,不实际升级软件,过程通常耗时 1-3 分钟(取决于网络速度)。
二、安装 TigerVNC Server
TigerVNC 是官方推荐的独立 VNC 服务器,支持多种桌面环境(如 GNOME、XFCE),此处提供 在线安装 和 离线安装 两种方式,可根据网络环境选择。
方式 1:在线安装(推荐,网络通畅时)
直接通过 Ubuntu 官方软件源安装,命令如下:
bash
sudo apt install tigervnc-standalone-server
- 执行过程中会提示 “是否继续安装”,输入
y
并回车即可,系统会自动下载并安装依赖包,全程无需手动干预。
三、设置 VNC 访问密码
VNC 连接需密码验证,确保远程访问安全。执行以下命令设置密码:
bash
vncpasswd
执行后会出现以下交互提示,按步骤操作:
- 首先输入密码(密码长度建议 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
文件
bash
sudo nano ~/.vnc/xstartup
2. 粘贴配置内容
将以下内容完整复制到编辑器中(注意不要遗漏或修改任何一行):
bash
#!/bin/shunset SESSION_MANAGERunset DBUS_SESSION_BUS_ADDRESSexport GNOME_SHELL_SESSION_MODE=ubuntuexport XDG_CURRENT_DESKTOP=ubuntu:GNOMEexport XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdgexec gnome-session
3. 保存并退出
- 按
Ctrl+O
(字母 O,不是数字 0)保存文件,按回车确认文件名; - 按
Ctrl+X
退出nano
编辑器。
4. 赋予执行权限(关键步骤)
刚创建的 xstartup
文件默认没有执行权限,需手动添加,否则 VNC 启动时会报错:
bash
sudo chmod +x ~/.vnc/xstartup
chmod +x
表示给文件添加 “可执行” 权限,确保 VNC 服务能正常调用该配置。
五、手动启动 VNC Server 并验证
配置完成后,先手动启动 VNC 服务,验证是否能正常运行。
1. 手动启动命令
bash
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. 验证启动状态
执行以下命令查看 VNC 服务是否启动成功:
bash
vncserver -list
若输出类似以下内容,说明启动成功:
plaintext
TigerVNC server sessions:X DISPLAY #RFB PORT #RFB UNIX PATHPROCESS ID #SERVER3 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,若修改显示编号,此处需同步修改)。
执行命令创建并编辑文件:
bash
sudo nano /etc/systemd/system/vncserver@:3.service
2. 粘贴服务配置内容
将以下内容复制到编辑器中,注意替换 为你的 Ubuntu 用户名(如当前用户是
ubuntu
,则将所有 改为
ubuntu
):
ini
[Unit]Description=Remote desktop service (VNC) # 服务描述After=syslog.target network.target # 服务依赖:在日志服务和网络服务启动后启动[Service]Type=forking # 服务类型:后台运行User= # 运行服务的用户(替换为你的用户名)Environment=HOME=/home/ # 设置用户家目录Environment=\"DISPLAY=:%i\" # 显示编号(%i 对应 @:3 中的 3)Environment=PATH=/usr/bin:/usr/sbin:/bin:/sbin # 系统环境变量路径# 启动前清理旧的 VNC 进程ExecStartPre=/bin/sh -c \'/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :\'# 启动 VNC 服务(分辨率与手动启动一致)ExecStart=/bin/sh -c \'/usr/bin/vncserver %i -geometry 1920x1080 -localhost no\'# PID 文件路径(记录服务进程号,普通用户用此路径)PIDFile=/home//.vnc/%H%i.pid# 若为 root 用户,需将上一行改为:PIDFile=/root/.vnc/%H%i.pid# 停止服务时关闭 VNC 进程ExecStop=/bin/sh -c \'/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :\'Restart=on-failure # 服务失败时自动重启RestartSec=5 # 重启间隔时间(5 秒)[Install]WantedBy=multi-user.target # 服务安装目标:多用户模式下生效
3. 重新加载系统服务
修改或新增服务配置文件后,需重新加载 systemd 配置,让系统识别新服务:
bash
sudo systemctl daemon-reload
4. 设置开机自启并启动服务
执行以下命令完成服务配置:
-
设置开机自启:
bash
-
sudo systemctl enable vncserver@:3.service
- 成功会提示:
Created symlink /etc/systemd/system/multi-user.target.wants/vncserver@:3.service → /etc/systemd/system/vncserver@:3.service.
- 成功会提示:
-
启动服务:
bash
-
sudo systemctl start vncserver@:3.service
-
查看服务运行状态:
bash
sudo systemctl status vncserver@:3.service
- 若输出中包含
active (running)
(绿色),说明服务正常运行; - 若显示
failed
(红色),执行以下命令查看详细日志,定位失败原因:bash
-
journalctl -xeu vncserver@:3.service
七、关键配置:禁用 Wayland 并重启 GDM3
Ubuntu 24.04 默认使用 Wayland 显示服务器,但 Wayland 与 VNC 兼容性较差,会导致远程桌面无法正常显示,需强制使用 Xorg 显示服务器。
1. 修改 GDM3 配置文件
GDM3 是 Ubuntu 的默认登录管理器,需修改其配置禁用 Wayland:
bash
sudo nano /etc/gdm3/custom.conf
2. 禁用 Wayland
在打开的文件中,找到 #WaylandEnable=false
这一行,删除开头的 #
注释符(若文件中没有这一行,直接在末尾添加 WaylandEnable=false
)。
3. 重启 GDM3 服务
修改配置后需重启 GDM3 生效(重启过程中当前桌面会暂时断开,建议保存好工作内容):
bash
sudo systemctl restart gdm3
八、远程连接:使用 VNC Viewer 访问
完成以上所有配置后,即可通过 VNC 客户端(如 VNC Viewer、RealVNC)连接 Ubuntu 服务器。
连接步骤:
- 下载并安装 VNC 客户端:在本地电脑(Windows/macOS/Linux)上安装 VNC Viewer(官网:RealVNC,免费版可满足基本需求)。
- 输入连接地址:打开 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
开放端口(若启用了防火墙)。
- 检查 VNC 服务是否正常运行:
-
远程桌面显示空白或黑屏:
- 检查
xstartup
文件内容是否正确,且是否有执行权限(sudo chmod +x ~/.vnc/xstartup
); - 确认 Wayland 已禁用(
cat /etc/gdm3/custom.conf | grep WaylandEnable
查看是否为WaylandEnable=false
)。
- 检查
-
服务启动失败,日志提示 “权限不足”:
- 检查服务配置文件中
User
和PIDFile
路径是否正确(尤其是普通用户和 root 用户的路径区别); - 确保
~/.vnc/
目录的权限为当前用户所有:sudo chown -R : ~/.vnc/
。
- 检查服务配置文件中