CentOS VNC如何配置多用户
导读:CentOS VNC 多用户配置指南 一、适用场景与准备 目标:让多个本地用户在 CentOS 7/8 上各自拥有独立的 VNC 桌面(例如 :1 → 5901、:2 → 5902),可同时连接。 准备: 安装桌面环境(二选一或并存):...
CentOS VNC 多用户配置指南
一、适用场景与准备
- 目标:让多个本地用户在 CentOS 7/8 上各自拥有独立的 VNC 桌面(例如 :1 → 5901、:2 → 5902),可同时连接。
- 准备:
- 安装桌面环境(二选一或并存):
yum groupinstall "GNOME Desktop" -y或yum groupinstall "Xfce" -y。 - 安装 VNC 服务:
yum install tigervnc-server -y。 - 为需要登录的每个系统用户设置 VNC 密码:
su - < 用户名> & & vncpasswd(与系统登录密码无关)。
- 安装桌面环境(二选一或并存):
二、CentOS 7 配置步骤(systemd 模板方式)
- 为每个用户创建 systemd 服务实例(以 user1、user2 为例,分别使用 :1、:2):
- 复制模板并启用服务
cp /usr/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service cp /usr/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:2.service systemctl daemon-reload - 编辑服务文件(示例为 vncserver@:1.service 的 [Service] 段)
将[Service] Type=simple ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2> & 1 || :' ExecStart=/usr/sbin/runuser -l user1 -c "/usr/bin/vncserver %i -geometry 1920x1080 -alwaysshared -depth 24" ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2> & 1 || :'user1替换为对应用户名;:1对应端口 5901,:2对应 5902,依此类推。 - 设置 VNC 密码(每个用户各自执行)
su - user1 vncpasswd exit su - user2 vncpasswd exit - 启动并开机自启
systemctl enable --now vncserver@:1.service systemctl enable --now vncserver@:2.service - 防火墙放行
firewall-cmd --permanent --add-port=5901-5902/tcp firewall-cmd --reload - 客户端连接
- 地址格式:
服务器IP:1或服务器IP:5901(对应 :2 则为:2或:5902)。
- 地址格式:
- 复制模板并启用服务
三、CentOS 6 配置步骤(传统 initscripts 方式)
- 安装与用户准备
yum install vnc-server -y useradd user1 & & passwd user1 useradd user2 & & passwd user2 su - user1 & & vncpasswd & & exit su - user2 & & vncpasswd & & exit - 配置
/etc/sysconfig/vncserversVNCSERVERS="1:user1 2:user2" VNCSERVERARGS[1]="-geometry 1024x768 -alwaysshared" VNCSERVERARGS[2]="-geometry 1024x768 -alwaysshared" - 启动与防火墙
service vncserver start chkconfig vncserver on iptables -I INPUT -p tcp --dport 5901:5902 -j ACCEPT service iptables save - 客户端连接:
IP:1或IP:5901(对应 :2 为IP:2/5902)。
四、进阶 同桌面读写与只读同时访问
- 思路:在同一显示号上开启一个可写会话,再开启一个只读镜像会话(适合演示/授课)。
- 示例(以 :8 为例,读写端口 5908,只读端口 5909):
- 安装 x11vnc(RHEL7 常用做法)
yum install epel-release -y yum install x11vnc -y - 创建服务文件
/etc/systemd/system/vncserver@:8.service[Unit] Description=Remote desktop service (VNC) After=syslog.target network.target [Service] Type=forking PIDFile=/home/kiosk/.vnc/%H%i.pid ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2> & 1 || :' ExecStart=/sbin/runuser -l kiosk -c "/usr/bin/vncserver :8 -geometry 1300x800 -AlwaysShared" ExecStartPost=/sbin/runuser -l kiosk -c "/usr/bin/x11vnc -nocursorshape -viewonly -shared -nopw -auth guess -forever -autoport 5908 -display :8 & " ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2> & 1 || :' [Install] WantedBy=multi-user.target - 设置 VNC 密码(含只读)
su - kiosk vncpasswd # 当提示时选择 y 设置 view-only 密码 exit - 启动
systemctl daemon-reload systemctl enable --now vncserver@:8.service - 连接:读写客户端连
IP:8(5908),只读客户端连IP:5909。提示:RHEL8 起 tigervnc 已支持设置只读密码,可直接用vncpasswd的只读选项实现类似效果。
- 安装 x11vnc(RHEL7 常用做法)
五、常见问题与排错
- 端口与显示号:显示号 :N 对应 5900+N(如 :1→5901)。若端口未监听,检查服务是否启动、用户是否执行过
vncpasswd、以及~/.vnc/xstartup是否配置正确。 - 黑屏/花屏:确认已安装桌面(GNOME/Xfce),并检查
~/.vnc/xstartup是否启动桌面会话;必要时在 xstartup 中使用gnome-session或startxfce4。若出现花屏,可尝试将客户端画质设置为 High。 - 端口占用/异常退出:删除锁文件后重启服务
rm -f /tmp/.X11-unix/X2 systemctl restart vncserver@:2.service - 防火墙/SELinux:确保放行对应 590N/TCP;临时排障可
setenforce 0验证是否为 SELinux 限制(生产环境请改为永久策略放行)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS VNC如何配置多用户
本文地址: https://pptw.com/jishu/774233.html
