欢迎光临
我们一直在努力

Ubuntu 24.04 系统下 VNC Server 完整安装与配置指南

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 分钟(取决于网络速度)。

首先保证GOME依赖完整:

若为server版(没有图形界面组件),先安装 GNOME 完整会话组件

bash

sudo apt install -y gnome-session gnome-shell gnome-panel gnome-settings-daemon

安装 VNC 与 GNOME 兼容的依赖

bash

sudo apt install -y dbus-x11 x11-xserver-utils xauth

二、安装 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/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 启动时会报错:

    bash

    sudo chmod +x ~/.vnc/xstartup

    • chmod +x 表示给文件添加 “可执行” 权限,确保 VNC 服务能正常调用该配置。

    五、手动启动 VNC Server 并验证

    配置完成后,先手动启动 VNC 服务,验证是否能正常运行。

    1. 手动启动命令

    bash

    vncserver :3 -geometry 1920×1080 -localhost no -depth 24

    • 参数说明:
      • :3:指定 VNC 的显示编号为 3(对应端口为 5903,端口规则:5900 + 显示编号);
      • -geometry 1920×1080:设置远程桌面分辨率为 1920×1080(可根据需求修改,如 1366×768);
      • -localhost no:允许非本地设备(如其他电脑)连接(若设为 yes,则仅允许服务器本机连接);
      • -depth 24:设置颜色深度为 24 位(色彩显示更细腻,常用值还有 16 位)。

    2. 验证启动状态

    执行以下命令查看 VNC 服务是否启动成功:

    bash

    vncserver -list

    若输出类似以下内容,说明启动成功:

    plaintext

    TigerVNC server sessions:

    X DISPLAY #RFB PORT #RFB UNIX PATHPROCESS 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,若修改显示编号,此处需同步修改)。

    执行命令创建并编辑文件:

    bash

    sudo nano /etc/systemd/system/vncserver@:3.service

    2. 粘贴服务配置内容

    将以下内容复制到编辑器中,注意替换 <username> 为你的 Ubuntu 用户名(如当前用户是 ubuntu,则将所有 <username> 改为 ubuntu):

    ini

    [Unit]
    Description=Remote desktop service (VNC) # 服务描述
    After=syslog.target network.target # 服务依赖:在日志服务和网络服务启动后启动

    [Service]
    Type=forking # 服务类型:后台运行
    User=<username> # 运行服务的用户(替换为你的用户名)
    Environment=HOME=/home/<username> # 设置用户家目录
    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 1920×1080 -localhost no'
    # PID 文件路径(记录服务进程号,普通用户用此路径)
    PIDFile=/home/<username>/.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 开放端口(若启用了防火墙)。
    • 远程桌面显示空白或黑屏:

      • 检查 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/。
    • 赞(0)
      未经允许不得转载:171主机测评 » Ubuntu 24.04 系统下 VNC Server 完整安装与配置指南
      分享到: 更多 (0)

      评论 抢沙发

      • 昵称 (必填)
      • 邮箱 (必填)
      • 网址