微信网站开发与网站实质区别自动优化网站建设咨询
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为几的规律 )

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