在 Ubuntu 24.02 上安装桌面环境和 TigerVNC 服务,并将其配置为 Systemd 服务,可以分为以下几个步骤。
首先,更新您的软件包列表并安装桌面环境。您可以选择不同的桌面,例如 Xfce 或 GNOME。Xfce 是一个轻量级的选择,非常适合远程访问。
Bash
sudo apt update
sudo apt install xfce4 xfce4-goodies
sudo apt install tigervnc-standalone-server tigervnc-common
接下来,为 VNC 会话设置密码。您可以使用您当前的用户名,或者为 VNC 创建一个新用户。
Bash
vncpasswd
系统会提示您输入并确认一个新密码,这个密码用于客户端连接。
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
为了让 TigerVNC 服务在系统启动时自动运行,并能够由 Systemd 管理,我们需要创建一个服务文件。
首先,确定 VNC 服务器的 IP 地址和端口。VNC 会话通常从端口 5901 开始,对应 :1。
在 /etc/systemd/system/ 目录下创建一个服务文件,例如 vncserver@.service:
Bash
sudo nano /etc/systemd/system/vncserver@.service
在文件中粘贴以下内容。将 ExecStart 和 ExecStop 中的 <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 服务器的命令。
:%i: 这是 Systemd 实例的变量,@ 符号后面的数字(例如 vncserver@1 中的 1)将替换 %i。
-geometry 1280x800: 设置桌面分辨率。您可以根据需要修改。
-localhost no: 允许来自外部的连接。
-rfbauth: 指定 VNC 密码文件的路径。
保存并关闭文件。
现在,您可以重新加载 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)。
如果您的系统上启用了防火墙(如 UFW),您需要开放 VNC 端口。
Bash
sudo ufw allow 5901/tcp
sudo ufw reload
现在,您可以使用任何 VNC 客户端(如 VNC Viewer, TigerVNC Viewer 或 RealVNC)来连接到您的服务器。
在客户端中,输入您的服务器 IP 地址和端口号,格式为 <IP_Address>:<Display_Number>,例如 192.168.1.100:1。
系统将提示您输入之前设置的 VNC 密码,然后您就可以看到远程桌面了。