Ubuntu 24.04 上安装配置 TightVNC Server

在 Ubuntu 24.02 上安装桌面环境和 TigerVNC 服务,并将其配置为 Systemd 服务,可以分为以下几个步骤。

1. 安装桌面环境和 TigerVNC

首先,更新您的软件包列表并安装桌面环境。您可以选择不同的桌面,例如 XfceGNOME。Xfce 是一个轻量级的选择,非常适合远程访问。

Bash

sudo apt update
sudo apt install xfce4 xfce4-goodies
sudo apt install tigervnc-standalone-server tigervnc-common

2. 设置 VNC 用户和密码

接下来,为 VNC 会话设置密码。您可以使用您当前的用户名,或者为 VNC 创建一个新用户。

Bash

vncpasswd

系统会提示您输入并确认一个新密码,这个密码用于客户端连接。


3. 创建 VNC 会话脚本

VNC 服务器需要一个脚本来启动桌面环境。创建一个名为 ~/.vnc/xstartup 的文件。

Bash

mkdir -p ~/.vnc
nano ~/.vnc/xstartup

在编辑器中,添加以下内容以启动 Xfce 桌面:

Bash

#!/bin/sh
unset DBUS_SESSION_BUS_ADDRESS
unset SSH_AUTH_SOCK
startxfce4

保存并关闭文件。然后,为该脚本添加执行权限:

Bash

chmod +x ~/.vnc/xstartup

4. 创建 Systemd 服务文件

为了让 TigerVNC 服务在系统启动时自动运行,并能够由 Systemd 管理,我们需要创建一个服务文件。

首先,确定 VNC 服务器的 IP 地址和端口。VNC 会话通常从端口 5901 开始,对应 :1

/etc/systemd/system/ 目录下创建一个服务文件,例如 vncserver@.service

Bash

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

在文件中粘贴以下内容。将 ExecStartExecStop 中的 <User> 替换为您要运行 VNC 会话的用户名。

Ini, TOML

[Unit]
Description=TigerVNC Remote Desktop Service
After=syslog.target network.target

[Service]
Type=forking
User=<User>
PAMName=login
PIDFile=/home/<User>/.vnc/%H:%i.pid
ExecStart=/usr/bin/vncserver :%i -desktop %H -geometry 1280x800 -localhost no -rfbauth /home/<User>/.vnc/passwd
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

参数解释:

User=: 运行 VNC 服务的用户。
  • ExecStart: 启动 VNC 服务器的命令。

  • 保存并关闭文件。


    5. 启动并启用服务

    现在,您可以重新加载 Systemd 配置,然后启动并启用 VNC 服务。

    Bash

    sudo systemctl daemon-reload
    sudo systemctl enable vncserver@1.service
    sudo systemctl start vncserver@1.service
    

    vncserver@1.service 中的 1 表示这是 VNC 会话的显示号,对应的端口是 5901。

    检查服务状态以确保它正在运行:

    Bash

    sudo systemctl status vncserver@1.service
    

    您应该能看到服务状态为 active (running)


    6. 配置防火墙(如果启用)

    如果您的系统上启用了防火墙(如 UFW),您需要开放 VNC 端口。

    Bash

    sudo ufw allow 5901/tcp
    sudo ufw reload
    

    7. 连接到 VNC 服务器

    现在,您可以使用任何 VNC 客户端(如 VNC Viewer, TigerVNC ViewerRealVNC)来连接到您的服务器。

    在客户端中,输入您的服务器 IP 地址和端口号,格式为 <IP_Address>:<Display_Number>,例如 192.168.1.100:1

    系统将提示您输入之前设置的 VNC 密码,然后您就可以看到远程桌面了。