VNC简述
VNC 是虚拟网络控制台的缩写。它是一款优秀的远程控制工具软件,由著名的 AT&T 的欧洲研究实验室开发的。VNC 是在基于 UNIX 和 Linux 操作系统的免费的开源软件,远程控制能力强大,高效实用,其性能可以和 Windows 和 MAC 中的任何远程控制软件媲美。 在 Linux 中,VNC 包括以下四个命令:vncserver,vncviewer,vncpasswd,和 vncconnect。大多数情况下用户只需要其中的两个命令:vncserver 和 vncviewer。
VNC的主要功能包括:
远程桌面控制:用户可以通过网络连接从一台计算机控制另一台电脑的桌面环境,不限于windows和linux环境。例如从windows远程到linux,从windows远程到windows。
注意:两台设备需要在同一个网络里面,若不在一个网络下需要路由转发等。vnc和ssh同样是远程连接,不同的是vnc是桌面远程,带有图形化。
服务器和客户端软件:VNC包括Vncserver(服务器软件)和Vncviewer(客户端软件),用户可以在服务器端安装Vncserver,在客户端安装Vncviewer,从而实现远程连接和控制。
vnc在windows和linux操作系统下的安装说明和连接
* windows操作系统下VNC安装view端
打开https://pan.baidu.com/s/1QpRCuCsGKh7_EX66wlde_A?pwd=49z2 提取码: 49z2
下载RealVNC-Viewer v7.12.1 Chs压缩包
解压出来双击VNC-Viewer-7.12.1.exe执行程序
点击ok
点击next
点击nest
7.选择安装路径点击next
8.点击install
9.点击finish
10.打开安装好的vncViewer,打上对勾,点击ok
现在进行汉化<转为英文>
将汉化文件里面的文本文件复制到自己安装vnc的安装路径下面
重新打开vncViewer就可以发现已经改为中文模式了
* windows操作系统下VNC安装server端
1.打开https://ssdl.lanzouc.com/ibLO216bzytc本地下载、解压
进入到服务端汉化版
1.双击VNC-Server-6.3.2-Windows.exe
点击ok
2.点击next
3.打勾点击next
4.选择安装路径点击next
5.点击next
6.点击install
7.点击finish
8.弹出一个窗口选中第二个打对勾点击next
百度一个注册码
服务端秘钥可用:FBV9V-7Z3V9-MED3U-47SEU-85T3A
输入后点击next
9.点击Apply
10.点击Done
现在进行汉化
可能会汉化不成功
11.安装完之后接着配置
打开服务端点击框住的设置
12.找到options设置VNC密码
13.想要更改密码的时候点击如下
* windows操作系统下VncViewer端连接Vncserver
1.将服务端的vncserver打开
找到服务端本机的IP
2.打开客户端的vncViewer
输入IP地址
3.输入密码即可成功
*Linux Centos7.9操作系统安装VNCserver端
1.获取当前系统启动模式
[root@wb-002 ~]# systemctl get-default
graphical.target
2.查看配置文件
[root@wb-002 ~]# cat /etc/inittab
# inittab is no longer used when using systemd.
#
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
#
# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
#
# multi-user.target: analogous to runlevel 3 //命令行模式
# graphical.target: analogous to runlevel 5 //图形界面模式
#
# To view current default target, run:
# systemctl get-default
#
# To set a default target, run:
# systemctl set-default TARGET.target
#
3.关闭防火墙
centos的防火墙是firewalld,关闭防火墙的命令 建议不要直接关闭,要进行端口放行
[root@wb-002 ~]# systemctl stop firewalld.service #停止firewall
[root@wb-002 ~]# systemctl disable firewalld.service #禁止firewall开机启动
[root@wb-002 ~]# setenforce 0
[root@wb-002 ~]# getenforce
[root@wb-002 ~
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
# cat /etc/sysconfig/selinux
4.安装软件
[root@wb-002 ~]# yum update
[root@wb-002 ~]# yum groupinstall "GNOME Desktop" "X Window System" "Desktop"
[root@wb-002 ~]# yum install tigervnc-server tigervnc vnc vnc-server
[root@wb-002 ~]# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
注意: 一个用户对应1个配置文件,当需要3用户时,上述cp指令需要执行3次,vncserver@:1.service文件序号迭代至vncserver@:3.service。这里的序号也对应后续连接的端口序号。
5.修改/etc/systemd/system/vncserver@:1.service
这里需要修改三处:
5.1.[Service]类型
[Service]
Type=forking
5.2.ExecStart值
将其中的替换为自己当前的用户名,如下这里以root用户为例,其他用户改为对应用户名即可:
ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"
5.3、添加PIDFile
这里区分root用户和非root用户。
root用户配置如下:
PIDFile=/root/.vnc/%H%i.pid
非root用户配置如下,以用户testvnc示例,配置如下:
PIDFile=/home/testvnc/.vnc/%H%i.pid
重新加载systemd
[root@wb-002 ~]# systemctl daemon-reload
6.为VNC设密码(比如密码设置为123456)
[root@wb-002 ~]# vncpasswd
Password:
Verify:
Would you like to enter a view-only password (y/n)? n //注意表示"是否输入一个只能查看的密码,选择否",否则连接vnc会出现黑屏
A view-only password is not used
[root@wb-002 ~]# vim /etc/libvirt/qemu.conf
vnc_password = "123456" //使用快捷方式搜索到这两行代码 ,更改后保存退出
vnc_listen = "0.0.0.0"
注意,此处关闭了防火墙
如果防火墙开了,需要开通一下规则:
[root@wb-002 ~]# firewall-cmd --permanent --add-service vnc-server
[root@wb-002 ~]# systemctl restart firewalld.service
7.启动vnc
[root@wb-002 ~]# systemctl enable vncserver@:1.service
[root@wb-002 ~]# systemctl start vncserver@:1.service
8.检查vnc进程
[root@wb-002 ~]# ps -ef | grep vnc
root 24675 1 0 16:49 ? 00:00:00 /bin/sh /usr/bin/vncserver_wrapper root :1
root 24697 1 0 16:49 ? 00:00:00 /usr/bin/Xvnc :1 -auth /root/.Xauthority -desktop wb-002:1 (root) -fp catalogue:/etc/X11/fontpath.d -geometry 1024x768 -pn -rfbauth /root/.vnc/passwd -rfbport 5901 -rfbwait 30000
root 24708 1 0 16:49 ? 00:00:00 /bin/sh /root/.vnc/xstartup
root 26886 22179 0 17:08 pts/1 00:00:00 grep --color=auto vnc
8.查看服务监听的端口
[root@wb-002 ~]# netstat -lnpt|grep Xvnc
tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 24697/Xvnc
tcp 0 0 0.0.0.0:6001 0.0.0.0:* LISTEN 24697/Xvnc
tcp6 0 0 :::5901 :::* LISTEN 24697/Xvnc
tcp6 0 0 :::6001 :::* LISTEN 24697/Xvnc
可以查看到 root 用户的连接序号为 1,对应的实际端口是 5901。可以使用 IP 地址和序号进行连接,例如 192.168.188.122:1,这里的序号1并非指服务器的实际端口号,而是表示 VNC 连接的顺序,从 1 开始编号。实际上,VNC 服务本身默认使用 5900 端口,所以第一个连接的端口是 5901(5900+1)
* windows操作系统的客户端Vncviewer远程连接linux操作系统的服务端Vncserver
准备工作:linux操作系统下的server端开启VNC;打开windows操作系统下的客户端,输入服务端的IP和端口号
VNC Server: IP地址:端口号
点击继续
输入密码
然后输入vncpasswd的密码即可完成VNC远程连接!
关闭vnc连接
[root@wb-002 ~]# /usr/bin/vncserver -kill :1