Ubuntu Server 24.04 上安装和配置 TigerVNC


步骤 1:安装 TigerVNC 和桌面环境

更新系统包确保系统包是最新的,运行以下命令:

sudo apt update && sudo apt upgrade -y

安装桌面环境 Ubuntu Server 默认没有图形界面,推荐安装轻量级桌面环境(如 XFCE)以减少资源占用:

sudo apt install xfce4 xfce4-goodies -y

安装 TigerVNC 服务器和相关组件:

sudo apt install tigervnc-standalone-server tigervnc-common tigervnc-xorg-extension -y

步骤 2:配置 TigerVNC 服务器

设置 VNC 密码 为 VNC 连接设置密码(每个用户需要单独设置):

vncpasswd

输入并确认密码(6-8 位字符)。可选择是否设置只读密码(一般选 n)。
启动 VNC 服务器
启动一个 VNC 会话,指定显示编号(例如 :1):

vncserver :1 -geometry 1280x800 -depth 24 -localhost no
-geometry 1280x800:设置分辨率,可根据需要调整。
-depth 24:设置 24 位颜色深度。
-localhost no:允许远程连接(后续会通过 SSH 隧道增强安全性)。

配置 VNC 桌面环境 认情况下,VNC 可能不会正确加载桌面环境。编辑 ~/.vnc/xstartup 文件以使用 XFCE:

vim ~/.vnc/xstartup

输入以下内容:

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
export XDG_SESSION_TYPE=x11
export GNOME_SHELL_SESSION_MODE=ubuntu
startxfce4 

保存后,添加执行权限:

chmod +x ~/.vnc/xstartup

重启 VNC 服务器 如果 VNC 服务器已运行,先关闭:

vncserver -kill :1

然后重新启动:

vncserver :1 -geometry 1280x800 -depth 24 -localhost no

配置为 systemd 服务(可选,自动启动) 为确保 VNC 服务器在系统启动时自动运行,创建 systemd 服务:

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

输入以下内容(将 YOUR_USERNAME 替换为实际用户名):

[Unit]
Description=Start TigerVNC server at startup
After=syslog.target network.target

[Service]
Type=simple
User=YOUR_USERNAME
PAMName=login
PIDFile=/home/YOUR_USERNAME/.vnc/%H:%i.pid
ExecStartPre=/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -fg -depth 24 -geometry 1280x800 -localhost no :%i
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

保存后,重新加载 systemd 并启用服务:

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

步骤 3:通过 TigerVNC Viewer 连接

在客户端安装 TigerVNC Viewer
ubuntu/Debian:

sudo apt install tigervnc-viewer

Windows/macOS:从 TigerVNC 官网 下载并安装 TigerVNC Viewer。

配置 SSH 隧道(推荐,增强安全性)
为安全起见,建议通过 SSH 隧道连接 VNC 服务器。假设服务器 IP 为 your_server_ip,运行以下命令:

ssh -L 5901:localhost:5901 -N -f -l YOUR_USERNAME your_server_ip
这会将本地端口 5901 转发到服务器的 VNC 端口 5901。

使用 TigerVNC Viewer 连接

打开 TigerVNC Viewer,输入:

localhost:5901

输入之前设置的 VNC 密码,连接后即可看到远程桌面。

步骤 4:通过浏览器连接(使用 noVNC)

要通过浏览器访问 VNC,需要安装 noVNC,一个基于 HTML5 的 VNC 客户端。

安装 noVNC 下载并配置 noVNC:

sudo apt install git -y
git clone https://github.com/novnc/noVNC.git
cd noVNC
./utils/novnc_proxy --vnc localhost:5901 --listen 6080

novnc_proxy 将 VNC 服务器的 5901 端口代理到本地 6080 端口。

配置防火墙

如果服务器启用了防火墙(如 UFW),允许 6080 端口:

sudo ufw allow 6080

通过浏览器访问

在本地电脑的浏览器中输入:

http://your_server_ip:6080/vnc.html

点击“Connect”,输入 VNC 密码,即可通过浏览器访问远程桌面。

通过 SSH 隧道访问(更安全)

如果希望通过 SSH 隧道访问 noVNC,运行:

ssh -L 6080:localhost:6080 -N -f -l YOUR_USERNAME your_server_ip

然后在浏览器中访问:

http://localhost:6080/vnc.html

步骤 5:安全注意事项

使用 SSH 隧道:避免直接开放 5901 端口,始终使用 SSH 隧道以加密连接。
防火墙设置:仅允许必要的端口(如 22 用于 SSH,6080 用于 noVNC):

sudo ufw allow 22
sudo ufw allow 6080
sudo ufw enable

强密码:确保 VNC 密码足够强。 TLS 加密(可选):TigerVNC 支持 TLS 加密,可参考官方文档进一步配置。

步骤 6:故障排除

黑屏或灰屏:
确保 ~/.vnc/xstartup 配置正确并指向 XFCE。
检查是否使用 Wayland(Ubuntu 24.04 默认使用 Wayland,可能与 VNC 不兼容)。禁用 Wayland:

sudo nano /etc/gdm3/custom.conf

取消注释 WaylandEnable=false,```

然后重启:

sudo systemctl restart gdm

连接失败:

确认 VNC 服务器正在运行:vncserver -list。 检查端口是否被占用或防火墙是否阻止连接。

noVNC 无法连接: 确保 novnc_proxy 正在运行。检查 6080 端口是否开放。


文章作者: kukuqi666
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 kukuqi666 !
评论
  目录