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为几的规律 )

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