Bootstrap

centos系列图形化 VNC server配置,及VNC viewer连接,2024年亲测有效

centos系列图形化 VNC server配置,及VNC viewer连接

0.VNC服务介绍

VNC英文全称为Virtual Network Computing,可以位操作系统提供图形接口连接方式,简单的来说就是一款桌面共享应用,类似于qq的远程连接。该服务是基于C/S模型的。常用的VNC应用有TigerVNC和RealVNC,后者是一款商业软件。每一款应用一般都会有对应的VNC Server和VNC Viewer,对应了C/S的模型。VNC Server是提供连接接口的服务端使用的。VNC Viewer是连接服务器的客户端使用的。

1、自行配置epel源

[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
[root@localhost ~]# ls /etc/yum.repos.d/
CentOS-Base.repo CentOS-CR.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Sources.repo CentOS-Vault.repo CentOS-x86_64-kernel.repo epel.repo
[root@localhost ~]#

2、安装GUI的GNOME Desktop桌面化,并开启桌面化重启

[root@localhost ~]# yum groups list
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Installed Environment Groups:
GNOME Desktop
Available Environment Groups:
Minimal Install
Compute Node
Infrastructure Server
File and Print Server
Cinnamon Desktop
MATE Desktop
Basic Web Server
Virtualization Host
Server with GUI
KDE Plasma Workspaces
Development and Creative Workstation
Available Groups:
Cinnamon
Compatibility Libraries
Console Internet Tools
Development Tools
Educational Software
Electronic Lab
Fedora Packager
General Purpose Desktop
Graphical Administration Tools
Haskell
LXQt Desktop
Legacy UNIX Compatibility
MATE
Milkymist
Scientific Support
Security Tools
Smart Card Support
System Administration Tools
System Management
TurboGears application framework
Xfce
Done

[root@localhost ~]# yum groups install “GNOME Desktop” -y
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Maybe run: yum groups mark install (see man yum)
No packages in any requested group available to install or update

[root@localhost ~]# systemctl set-default graphical.target

[root@localhost ~]# reboot

3、安装tigervnc服务,并配置root,连接用户密码

[root@localhost ~]# yum install tigervnc* -y
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Package tigervnc-server-1.8.0-33.el7_9.x86_64 already installed and latest version
Package tigervnc-server-applet-1.8.0-33.el7_9.noarch already installed and latest version
Package tigervnc-1.8.0-33.el7_9.x86_64 already installed and latest version
Package tigervnc-icons-1.8.0-33.el7_9.noarch already installed and latest version
Package tigervnc-server-minimal-1.8.0-33.el7_9.x86_64 already installed and latest version
Package tigervnc-license-1.8.0-33.el7_9.noarch already installed and latest version
Package tigervnc-server-module-1.8.0-33.el7_9.x86_64 already installed and latest version
Nothing to do

[root@localhost ~]# vncpasswd
Password: \\自己设密码Pass2024
Verify: \\自己设密码Pass2024
Would you like to enter a view-only password (y/n)? y
Password: \\自己设密码Pass2024
Verify: \自己设密码Pass2024

4、/bin命令,vnc服务启动

[root@localhost ~]# /usr/sbin/runuser -l root -c /usr/bin/vncserver %i

New ‘localhost.localdomain:1 (root)’ desktop is localhost.localdomain:1

Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/localhost.localdomain:1.log

[root@localhost ~]# ps -ef |grep vnc
root 3106 1 2 11:01 pts/1 00:00:00 /usr/bin/Xvnc :1 -auth /root/.Xauthority -desktop localhost.localdomain:1 (root) -fp catalogue:/etc/X11/fontpath.d -geometry 1024x768 -httpd /usr/share/vnc/classes -pn -rfbauth /root/vnc/passwd -rfbport 5901 -rfbwait 30000
root 3113 1 0 11:01 pts/1 00:00:00 /bin/sh /root/.vnc/xstartup
root 3500 1208 0 11:01 pts/1 00:00:00 grep --color=auto vnc
[root@localhost ~]# ss -atnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 100 127.0.0.1:25 :
LISTEN 0 5 *:5801 :
LISTEN 0 5 *:5901 (默认连接端口5900+1 Xvnc :1为几的规律 ) :

5、/bin命令,vnc服务停止

[root@localhost ~]# ps -ef |grep vnc
root 3106 1 0 11:01 pts/1 00:00:00 /usr/bin/Xvnc :1 -auth /root/.Xauthority -desktop localhost.localdomain:1 (root) -fp catalogue:/etc/X11/fontpath.d -geometry 1024x768 -httpd /usr/share/vnc/classes -pn -rfbauth /root/vnc/passwd -rfbport 5901 -rfbwait 30000
root 3113 1 0 11:01 pts/1 00:00:00 /bin/sh /root/.vnc/xstartup
root 3760 1208 0 11:04 pts/1 00:00:00 grep --color=auto vnc
[root@localhost ~]# /usr/bin/vncserver -kill :1
Killing Xvnc process ID 3106
[root@localhost ~]# ps -ef |grep vnc
root 3784 1208 0 11:04 pts/1 00:00:00 grep --color=auto vnc

[root@localhost ~]# ls /tmp/.X11-unix/
X0 X2 X4

//这个临时文件,可能需要rm -rf /tmp/.X11-unix/*,避免产生Xvnc :2-10,无法用kill :1管控

6、/bin命令,vnc服务启动后,VNC viewer连接

IP + 5901 自己设密码Pass2024

亲测正常

7、自定义开机自启脚本

[root@localhost ]# vi /etc/init.d/vncserver.sh
#!/bin/bash

LOCKFILE=/var/lock/subsys/vncserver

case “$1” in
start)
if [ -f $LOCKFILE ]
then
echo $0 already running.
exit 1
fi
echo -n $“Starting vnc server:”
/usr/sbin/runuser -l root -c /usr/bin/vncserver %i
touch $LOCKFILE
;;
stop)
if [ ! -f $LOCKFILE ]
then
echo $0 already stopping.
exit 1
fi
echo -n $“Stopping vnc server:”
/usr/bin/vncserver -kill :1

rm -rf /tmp/.X11-unix/*

rm -f $LOCKFILE
;;
restart)
$0 stop
$0 start
;;
status)
if [ -f $LOCKFILE ]
then
echo $0 started.
else
echo $0 stopped.
fi
;;
*)
echo “Usage: $0 [start|stop|status]”
exit 1

esac
exit 0

[root@localhost ]# chmod +x /etc/init.d/vncserver.sh

[root@localhost init.d]# vi /etc/rc.local

#最后二行

/etc/init.d/vncserver.sh stop
/etc/init.d/vncserver.sh start

[root@localhost ]# chmod +x /etc/rc.local

8、重启检验

[root@localhost ~]# reboot

[root@localhost ~]# ps -ef |grep vnc
root 3106 1 2 11:01 pts/1 00:00:00 /usr/bin/Xvnc :1 -auth /root/.Xauthority -desktop localhost.localdomain:1 (root) -fp catalogue:/etc/X11/fontpath.d -geometry 1024x768 -httpd /usr/share/vnc/classes -pn -rfbauth /root/vnc/passwd -rfbport 5901 -rfbwait 30000
root 3113 1 0 11:01 pts/1 00:00:00 /bin/sh /root/.vnc/xstartup
root 3500 1208 0 11:01 pts/1 00:00:00 grep --color=auto vnc
[root@localhost ~]# ss -atnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 100 127.0.0.1:25 :
LISTEN 0 5 *:5801 :
LISTEN 0 5 *:5901 (默认连接端口5900+1 Xvnc :1为几的规律 )

小编有话要说,看到最后,测试成功,觉得有用的话,麻烦点赞或收藏,或评论大家一起讨论

;