一、安装 TigerVNC 服务端 首先通过 yum 包管理器安装 tigervnc-server 核心组件,执行以下命令即可完成安装:
yum install -y tigervnc-server
#### 二、配置多用户 VNC 会话映射(端口与用户关联) TigerVNC 通过 `/etc/tigervnc/vncserver.users` 文件管理显示编号(对应端口)与用户的映射关系,规则为:`显示编号=用户名`,其中 `:N` 对应端口 `590N`(如 :1 对应 5901、:2 对应 5902)。 1. 编辑用户映射文件:
vim /etc/tigervnc/vncserver.users
2. 在文件中添加以下内容(示例为 5 个会话映射到同一 user,可根据实际需求修改用户名):
:1=user :2=user :3=user :4=user :5=user
三、配置 VNC 服务单元文件并启动服务
为每个用户配置独立的 VNC 服务单元,确保会话独立且可随系统启动。
1. 创建用户级 systemd 配置目录(若不存在):
mkdir -p ~/.config/systemd/user/
2. 编辑 VNC 服务单元文件:
vim ~/.config/systemd/user/vncserver@.service
3. 写入以下配置内容(定义服务启动/停止规则、分辨率等):
[Unit] Description=VNC user service After=network.target [Service] Type=forking WorkingDirectory=%h # 指定服务工作目录为用户主目录 PIDFile=%h/.vnc/%H%i.pid # 指定PID文件路径 ExecStartPre=-/usr/bin/vncserver -kill %i # 启动前尝试终止已有会话(-表示忽略错误) ExecStart=/usr/bin/vncserver %i -geometry 1920x1080 # 启动VNC并设置分辨率 ExecStop=/usr/bin/vncserver -kill %i # 停止VNC会话 [Install] WantedBy=default.target
4. 重新加载用户级 systemd 配置:
systemctl --user daemon-reload
5. 启动指定显示编号的 VNC 会话(示例为 :1,对应 5901 端口):
systemctl --user start vncserver@:1.service
6. 设置该会话开机自启(用户级):
systemctl --user enable vncserver@:1.service
7. 切换至 root 用户,配置用户会话随系统启动(无需用户登录):
loginctl enable-linger user
关键说明
1. 显示编号与端口对应关系:`:N` → `590N`(如 :3 对应 5903 端口);
2. 每个用户可配置多个会话(如 :1、:2),但需确保映射文件中编号唯一;
3. `loginctl enable-linger user` 是核心步骤,确保用户退出后 VNC 会话仍运行,且系统重启后自动恢复。
总结
1. 安装 tigervnc-server 是基础,通过 yum 一键完成即可;
2. `vncserver.users` 文件核心作用是关联显示编号(端口)与用户,实现多用户会话隔离;
3. 用户级 systemd 配置+`loginctl enable-linger` 组合,可保证 VNC 会话独立、持久且随系统自启。
免责声明:本文为原创文章,版权归 zhaoshuman 所有,欢迎分享本文,转载请保留出处!
发表评论