很多习惯 Windows 运维的小伙伴,在政务、国企国产化大趋势下,会接触到统信 UOS、中标麒麟、银河麒麟等国产操作系统。这类系统底层内核均基于 Linux。
目前统信、麒麟服务器高级版本都支持图形界面,本文将分 root 用户、普通用户两种场景,讲解 VNC 远程操作界面的配置开启方式。
ROOT用户
VNC 安装步骤
> 银河麒麟 V10
1. 安装 VNC 服务端
dnf install tigervnc-server
2. 启动
vncserver

3. 查看进程 端口
ps -ef | grep vnc

4. 配置防火墙/放开 VNC 端口**(任选其一)**
4.1. 配置防火墙【第一种】
# 关闭防火墙 systemctl stop firewalld # 禁止重启自启动防火墙 systemctl disable firewalld
4.2. 开放端口【第二种】
# 开放 5901 端口 firewall-cmd --add-port=5901/tcp --permanent firewall-cmd --reload
5. window 打开vncviewer
6. 连接
如果是默认的 5900 端口就直接写上 ip 就可以了,如果是其他端口就要加上端口。
7.设置成开机自启动【可选】
7.1. 关闭所有 vnc 进程
killall Xvnc
7.2. 复制配置文件
# vncserver@:1.service 是 5901 端口,同理,如果是 vncserver@:2.service,那么就是 5902 端口 cp /usr/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
7.3. 修改配置文件
vim /etc/systemd/system/vncserver@:1.service
> 将带有 `<USER>` 的行进行修改,将 `/home/<USER>` 改成 `/root`,`<USER>` 改成 `root`
[Service] Type=forking WorkingDirectory=/root User=root Group=root PIDFile=/root/.vnc/%H%i.pid
7.4. 设置密码
vncpasswd

7.5. 启动 vnc 并设置开机自启动
systemctl enable vncserver@:1.service systemctl start vncserver@:1.service

非ROOT用户
# VNC 安装步骤
> 银河麒麟 V10
1. 安装 VNC 服务端
先将root下的镜像挂载到/mnt下,然后查找mnt下的tigervnc-server依赖包。
find /mnt -name "*tigervnc-server*.rpm"
然后本地安装tigervnc-server
dnf localinstall /mnt/.../tigervnc-server-1.10.1*.rpm --disablerepo=*
2. 创建 VNC 用户
useradd smbuser
3. 配置 VNC 服务端
将配置文件复制到 /etc/systemd/system 并且命名为 vncserver-用户名@.service
cp /usr/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver-smbuser@.service
修改 service 文件将替换成实际的用户【将 替换成对应的用户】
vim /etc/systemd/system/vncserver-smbuser@.service
然后
[Unit] Description=Remote desktop service (VNC) After=syslog.target network.target [Service] Type=forking WorkingDirectory=/home/smbuser User=smbuser Group=smbuser PIDFile=/home/smbuser/.vnc/%H%i.pid ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i >/dev/null 2>&1|| :' ExecStart=/usr/bin/vncserver -autokill %i ExecStop=/usr/bin/vncserver -kill %i Restart=on-success RestartSec=15 [Install] WantedBy=multi-user.target
4. 执行命令
systemctl daemon-reload
5. 设置 VNC 密码
# 切换 VNC 账号 su smbuser # 设置 vnc 密码 vncpasswd

6. 启动
# userName 为用户名,display_number 需要替换成序号 # systemctl start vncserver-userName@:display_number.service # 比如: systemctl start vncserver-smbuser@:1.service
7. 开机启动【可选】
# userName 为用户名,display_number 需要替换成序号 # 序号为1,那么端口就是 5901,同理,序号为 2 端口就问 5902 # systemctl enable vncserver-userName@:display_number.service # 比如 systemctl enable vncserver-smbuser@:1.service
8. 查看进程 端口
ps -ef | grep vnc

9. 配置防火墙 / 放开 VNC 端口**(任选其一)**
1. 配置防火墙【第一种】
# 关闭防火墙 systemctl stop firewalld # 禁止重启自启动防火墙 systemctl disable firewalld
2. 开放端口【第二种】
# 开放 5901 端口【永久】 firewall-cmd --add-port=5901/tcp --permanent firewall-cmd --reload
10. window 打开 TightVNC Viewer
【没有的话,下载安装】
11. 连接
如果是默认的 5900 端口就直接写上 ip 就可以了,如果是输入密码连接
VNC登录提示密码错误
步骤一:修复 /etc/security 系统目录权限
# 恢复目录默认权限 chmod 755 /etc/security #递归修复内部文件权限 chmod -R go-w /etc/security/ #关键认证文件权限修正 chmod 644 /etc/security/*.conf chmod 600 /etc/security/opasswd
步骤二:处理 UKUI 锁屏 VNC 认证冲突(临时禁用锁屏 / 重启锁屏进程)
1、杀掉异常锁屏进程
pkill -f ukui-screensaver
2、永久关闭锁屏(按需,不需要锁屏则执行)
gsettings set org.ukui.screensaver lock-enabled false
