环境信息
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/
输入刚才设置的vnc密码
成功连接