通用 Linux VNC 桌面部署方法,适配麒麟、统信各类 Linux 内核操作系统

很多习惯 Windows 运维的小伙伴,在政务、国企国产化大趋势下,会接触到统信 UOS、中标麒麟、银河麒麟等国产操作系统。这类系统底层内核均基于 Linux。

目前统信、麒麟服务器高级版本都支持图形界面,本文将分 root 用户、普通用户两种场景,讲解 VNC 远程操作界面的配置开启方式。

ROOT用户

VNC 安装步骤
> 银河麒麟 V10

1. 安装 VNC 服务端

dnf install tigervnc-server

2. 启动

vncserver

通用 Linux VNC 桌面部署方法,适配麒麟、统信各类 Linux 内核操作系统

3. 查看进程 端口

ps -ef | grep vnc

通用 Linux VNC 桌面部署方法,适配麒麟、统信各类 Linux 内核操作系统

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
通用 Linux VNC 桌面部署方法,适配麒麟、统信各类 Linux 内核操作系统
7.5. 启动 vnc 并设置开机自启动

systemctl enable vncserver@:1.service
systemctl start vncserver@:1.service

通用 Linux VNC 桌面部署方法,适配麒麟、统信各类 Linux 内核操作系统

非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

通用 Linux VNC 桌面部署方法,适配麒麟、统信各类 Linux 内核操作系统

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

通用 Linux VNC 桌面部署方法,适配麒麟、统信各类 Linux 内核操作系统

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

给TA打赏
共{{data.count}}人
人已打赏
兴趣闲谈

马斯克:星链轨道快被我占满了!中国:没事,我在海南开始下饺子

2026-8-21 10:06:53

兴趣闲谈

DeepSeek V4 Pro 正式版深夜重磅上线!Agent 能力大幅升级,支持 Responses API、Codex 接入|最新 API 价格一览

2026-8-13 8:43:25

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索