Linux(银河麒麟 V10)部署 VNC 服务端并且使用客户端连接

注意:这篇文章对于定制版本的系统并不适用,有可能导致系统环境变量被破坏。这里测试用 root 用户没大多关系,正式环境能不用尽量别用 root 测试,使用普通用户提权。再提一句,某些定制 Linux 系统可能做过安全标记,也是不能随便动权限的。

正文

一、银河麒麟安装 VNC 服务

这里我并不推荐使用 root 用户,尽量用普通用户,通过提取权限即可。我这里用 root,只是为了方便使用。赋予权限的宗旨是在最小范围内满足即可。

银河麒麟 V10 部署 vncserver,使用如下 yum 命令安装:

1
yum install tigervnc-server tigervnc-server-module

新建 vncserver@.service
在这里插入图片描述

1
2
3
#使用vim命令新建vncserver@.service
#执行这个脚本在定制系统上可能会破坏系统环境变量,导致基本命令无法使用。
vim /etc/systemd/system/vncserver@.service

下面为具体配置文件内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
#必须设置为simple,设置其它的报错
Type=simple
WorkingDirectory=/root/
#必须为root
User=root
Group=root

#ExecStart=/usr/bin/vncserver :1 -geometry 1920x1080
#Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

#ExecStart=/usr/sbin/runuser -l appadmin -c "/usr/bin/vncserver %i -geometry 1280x1024"
#必须为root
ExecStart=/usr/sbin/runuser -l root -c "/usr/bin/vncserver %i"
#必须为root
PIDFile=/root/.vnc/%H%i.pid

重新加载 systemctl
在这里插入图片描述

1
2
#执行这个命令,在定制linux系统可能导致基本命令无法使用
systemctl daemon-reload

停止 vnc 服务
在这里插入图片描述

1
systemctl stop vncserver@:1.service

启动 vnc 服务
在这里插入图片描述

1
systemctl start vncserver@:1.service

查看 vnc 服务状态
在这里插入图片描述

1
systemctl status vncserver@:1.service

开机启用 vnc 服务

1
systemctl enable vncserver@:1.service

修改 vnc 密码,如果没修改密码,启动 VNC 也存在报错情况

1
vncpasswd

二、本机安装 VNC 客户端

官网提供了很多版本的下载地址
https://www.realvnc.com/en/connect/download/viewer/

1、安装完后,点击 File-> 使用 Ctrl+N 快捷键打开 new connection
在这里插入图片描述

2、配置 vnc 连接

在这里插入图片描述

3、输入 ip 地址以及端口,输入服务器配置的 vnc 服务密码
在这里插入图片描述

4、成功登陆到银河麒麟 V10
在这里插入图片描述

三、关闭原有的 firewalld 防火墙,启用 iptables 并开放 5901

永久关闭 firewalld

1
systemctl disabled firewalld.service

临时关闭 firewalld

1
systemctl stop firewalld.service

开启 iptables

1
systemctl enable iptables.service

修改 iptables 配置文件
在这里插入图片描述

1
vim /etc/sysconfig/ipatbles

添加如下图片红线框出来的配置
在这里插入图片描述

重启 iptables 服务

1
systemctl restart iptables.service

在这里插入图片描述

四、权限问题

出现权限不足,赋予 vncserver@.service 权限 755,通过 root 提权

1
chmod 755  /etc/systemd/system/vncserver@.service