CentOS/RHEL 系统配置多用户 TigerVNC 服务

原创 zhaoshuman  2026-03-04 16:42:01  阅读 113 次 评论 0 条
摘要:

CentOS/RHEL 系统配置多用户 TigerVNC 服务

一、安装 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 会话独立、持久且随系统自启。

本文地址:https://zhaoshuman.cn/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/4.html
免责声明:本文为原创文章,版权归 zhaoshuman 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?