麒麟系统安装vnc server服务

image

先运行 vncpasswd 重置密码。

usr/bin$ ./x0vncserver -passwordfile /home/zhangfei-004/.vnc/passwd -rfbport 59801

启动服务后,就可以正常连接了。

 


 

麒麟系统如何安装和配置VNC服务端

 

一、基于yum安装TigerVNC并配置systemd服务(适用于Kylin V10服务器版)

该方法采用系统默认软件源安装tigervnc-server,并通过复制模板服务单元文件方式实现多用户会话管理,适用于已安装GNOME或XFCE桌面的Kylin V10 SP系列系统。

1、更新系统软件包索引并安装核心组件:
执行sudo yum makecache与sudo yum install tigervnc-server tigervnc -y。

2、确认桌面环境是否就绪:
若为最小化安装,需先运行sudo yum groupinstall "gnome desktop" -y或sudo yum install @xfce-desktop-environment -y。

3、复制并定制服务单元文件:
执行cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service,随后编辑该文件,在[Service]段中将User=root替换为实际用户(如User=kylin),并将ExecStart行修改为/usr/bin/vncserver %i -geometry 1280x720 -depth 24。

4、切换至目标用户并设置VNC密码:
执行su - kylin后运行vncpasswd,输入并确认密码(长度不超过8位,需含大小写字母、数字及特殊字符)。

5、启用并启动服务:
执行sudo systemctl daemon-reload、sudo systemctl enable vncserver@:1.service、sudo systemctl start vncserver@:1.service。

6、开放防火墙端口:
运行sudo firewall-cmd --permanent --add-port=5901/tcp与sudo firewall-cmd --reload。

 

二、基于apt安装TigerVNC并命令行启动(适用于Kylin V11桌面版及Wayland环境)

该方法绕过systemd服务托管,直接使用x0vncserver命令启动,专为Kylin V11启用Wayland显示协议的场景设计,避免因Wayland兼容性导致的桌面无法加载或光标丢失问题。

1、安装独立VNC组件:
执行sudo apt install tigervnc-standalone-server tigervnc-common tigervnc-scraping-server -y。

2、设置VNC认证密码:
切换至目标用户后运行vncpasswd,连续两次输入密码,第三步提示是否创建只读密码时输入n。

3、启动VNC服务:
执行x0vncserver -display :0 -passwordfile ~/.vnc/passwd -localhost no,其中-display :0表示复用当前本地显示会话。

4、确保UKUI桌面可被正确调用:
检查~/.vnc/xstartup是否存在且内容包含export XDG_CURRENT_DESKTOP="UKUI"及exec ukui-session语句。

 

三、创建专用用户并配置systemd user service(适用于Kylin AdvancedServer OS V11)

该方法遵循最小权限原则,以非root用户身份运行VNC服务,配合UKUI桌面环境与systemd用户级服务机制,提升安全性与稳定性,特别适合生产环境部署。

1、创建专用VNC用户:
执行sudo useradd -m -s /bin/bash vncuser与sudo passwd vncuser,设置强密码。

2、切换至新用户并生成VNC密码文件:
运行su - vncuser后执行vncpasswd,密码将保存于~/.vnc/passwd(权限自动设为600)。

3、配置~/.vnc/xstartup脚本:
写入以下内容:

#!/bin/bash
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
export XKL_XMODMAP_DISABLE=1
export XDG_CURRENT_DESKTOP="UKUI"
export XDG_SESSION_TYPE=x11
export DISPLAY=:1
xsetroot -solid grey
xhost +
exec ukui-session

,随后执行chmod +x ~/.vnc/xstartup。

4、创建用户级systemd服务文件:
在~/.config/systemd/user/目录下新建vncserver.service,填入[Unit]、[Service]、[Install]三段内容,其中ExecStart=/usr/bin/vncserver :1,Type=forking,User=vncuser。

5、启用用户服务:
执行systemctl --user daemon-reload、systemctl --user enable vncserver.service、systemctl --user start vncserver.service。

6、配置用户级防火墙规则(如启用firewalld):
运行sudo firewall-cmd --permanent --add-port=5901/tcp并重载规则。

 

四、离线安装TigerVNC并手动初始化(适用于无公网连接的Kylin V10 SP3环境)

该方法不依赖在线仓库,在断网环境中通过RPM包完成安装,并利用首次运行vncserver命令自动创建基础配置结构,适用于政企内网隔离场景。

1、下载对应架构RPM包:
从https://update.cs2c.com.cn/NS/V10/V10SP3-2403/os/adv/lic/base/x86_64/Packages/获取tigervnc-server-*.rpm。

2、上传并安装RPM包:
执行rpm -ivh tigervnc-server-*.rpm,若提示依赖缺失,一并安装tigervnc-license与libvncserver等关联包。

3、以目标用户身份首次运行VNC服务:
切换用户后执行vncserver,系统将自动创建~/.vnc/目录、生成默认xstartup及提示设置密码。

4、编辑~/.vnc/xstartup适配桌面:
将末尾twm &替换为exec mate-session(MATE)或exec startxfce4(XFCE)。

5、手动启动服务并绑定端口:
运行vncserver :1 -geometry 1920x1080 -depth 24,服务将在5901端口监听。

6、配置SELinux策略(如启用):
执行sudo setsebool -P vncserver_connect_any on允许VNC连接任意端口。

 

五、验证VNC服务状态与连接可用性

该步骤用于确认前述任一安装路径是否成功生效,通过本地回环测试与客户端连接双重校验,排除配置遗漏或端口阻塞问题。

1、检查VNC进程是否运行:
执行ps aux | grep vnc,应可见类似/usr/bin/Xtigervnc :1 -desktop ...的进程。

2、确认端口监听状态:
运行ss -tuln | grep :5901,输出中应包含LISTEN状态及127.0.0.1:5901或*:5901。

3、本地回环连接测试:
在服务器本机执行vncviewer 127.0.0.1:1,输入密码后应能显示远程桌面。

4、从外部客户端连接:
使用TigerVNC Viewer、RealVNC或Remmina等客户端,输入服务器IP加端口号(如192.168.1.100:5901),确保客户端分辨率与服务端geometry参数一致。

5、检查日志定位异常:
查看~/.vnc/*.log文件,重点搜索X connection to :1 broken、Failed to load module "glamoregl"等错误关键词。

posted @ 2026-06-15 17:33  lycoder  阅读(198)  评论(0)    收藏  举报