当前位置: 首页 > article >正文

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

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


http://www.kler.cn/a/350056.html

相关文章:

  • 系统思考—业务协同
  • 探索WPF中的RelativeSource:灵活的资源绑定利器
  • Linux应用编程(五)USB应用开发-libusb库
  • MyBatis Plus 的 InnerInterceptor:更轻量级的 SQL 拦截器
  • Mac开启任何来源安装配置环境变量
  • Android BitmapShader简洁实现马赛克,Kotlin(一)
  • 【markdown语法】使用 LaTeX 语法编写数学公式
  • Chromium 书签加载过程分析c++
  • 6本“灌水神刊”SCI,沾边可录,可选非OA,1个月Accept!
  • 掌握 C# 内存管理与垃圾回收机制
  • css 翻页效果
  • 酵母魔法:精酿啤酒发酵的艺术与科学
  • Linux——快捷键
  • 多入口+vite+vue3预渲染方案
  • 程序员转行方向推荐
  • 基于 java springboot+layui仓库管理系统设计和实现
  • 使用Windows创建一个MFC应用【带界面】
  • uniapp顶部提示栏实现
  • RAG快问:大数据与AI真有价值还是炒过头?
  • N1092A DCA-M采样示波器
  • js中map,filter,find,foreach的用法介绍
  • Android App系统签名
  • 苍穹外卖学习笔记(二十二)
  • 集成mqtt协议 并以线程池来读取请求
  • springboot医院预约挂号系统
  • Paramiko的keepalive机制