环境信息

CentOS Linux release 7.9.2009 (Core)

tigervnc-server-1.8.0-22.el7.x86_64

VNC Viewer 6.20.529(r42646) x64 (May 29 2020 13:14:30)

安装VNC server

发行版linux会自带VNC安装包,可用以下命令查看

我这里自带的是tigervnc-server-minimal-1.8.0-21.el7.x86_64

[root@bridge /]# rpm -qa | grep vnc
gtk-vnc2-0.7.0-3.el7.x86_64
tigervnc-server-minimal-1.8.0-21.el7.x86_64
gvnc-0.7.0-3.el7.x86_64
tigervnc-license-1.8.0-21.el7.noarch

亦或可通过yum来安装

[root@bridge /]# yum install -y tigervnc-server

配置VNC

VNC默认端口号为5900,连接时使用 ip:桌面号 来连接。连接时的端口号为默认端口号+桌面号。

例如使用桌面号1来连接,端口号就为5901。

这里我们先复制一份默认配置,另存为桌面号为1的配置档

[root@bridge /]# cp /lib/systemd/system/[email protected] /lib/systemd/system/vncserver@:1.service

打开配置文件

[root@bridge /]# vim /lib/systemd/system/vncserver@:1.service

将以下内容写入文件,这里我配置的是root用户

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target


[Service]
Type=forking
User=root
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i -geometry 128:0x720"
PIDFile=/root/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target

重载系统配置

[root@bridge /]# systemctl daemon-reload

将vnc加入自启动

[root@bridge /]# systemctl enable vncserver@:1.service

设置vnc密码

[root@bridge /]# vncpasswd
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
A view-only password is not used

重启vnc服务

[root@bridge /]# systemctl restart vncserver@:1.service

如果启动服务报错,可用以下命令查看详细错误代码

[root@bridge /]# systemctl status vncserver@:1.service

启动成功后可以根据端口号(5901)查看监听的进程

[root@bridge /]# netstat -antulp | grep 5901
tcp        0      0 0.0.0.0:5901            0.0.0.0:*               LISTEN      20119/Xvnc  
tcp6       0      0 :::5901                 :::*                    LISTEN      20119/Xvnc  

反之也可通过进程名(vnc)来查看当前被监听的端口号

[root@bridge /]# ps -aux | grep vnc
root     20119  0.0  1.2 226316 50200 ?        Sl   09:29   0:00 /usr/bin/Xvnc :1 -auth /root/.Xauthority -desktop bridge:1 (root) -fp catalogue:/etc/X11/fontpath.d -geometry 1280x720 -pn -rfbauth /root/.vnc/passwd -rfbport 5901 -rfbwait 30000
root     20126  0.0  0.0 113280  1196 ?        S    09:29   0:00 /bin/sh /root/.vnc/xstartup
root     21110  0.0  0.0 112828   972 pts/2    S+   09:50   0:00 grep --color=auto vnc

火墙放行端口

可直接关闭火墙,但不推荐

[root@bridge /]# systemctl stop firewalld
[root@bridge /]# systemctl disable firewalld

推荐开放端口号

[root@bridge /]# firewall-cmd --permanent --zone=public --add-port=5901/tcp
success
[root@bridge /]# firewall-cmd --permanent --zone=public --add-port=5901/udp
success

使用VNC Viewer连接

在VNC Viewer官网下载客户端

https://www.realvnc.com/en/connect/download/viewer/

image.png

输入刚才设置的vnc密码

image.png

成功连接

image.png

最后修改:2021 年 04 月 01 日
如果觉得我的文章对你有用,请随意赞赏