13703353520(同微信) 周一~周五, 8:00 - 20:00
QQ:25681881或25295110 邮箱:qhdzxz@163.com
易得优软件 河北•秦皇岛
  • 站群系统

    自主建站,易得优自主建站站群系统

  • 易得优餐饮库管系统

    十七年专注开发

  • 易得优智能工控

    智能工控,易得优是认真的

  • 音乐打铃播放无需电脑

    易得优音乐打铃系统无电脑版

CentOS7中安装并配置VNC

    时间:2019-08-01 18:25:53     人气:3870


 

      VNC (Virtual Network Console)是虚拟网络控制台的缩写,VNC 是在基于 UNIX 和 Linux 操作系统的免费的开源软件,远程控制能力强大,高效实用,其性能可以和 Windows 和 MAC 中的任何远程控制软件媲美。 在 Linux 中,VNC 包括以下四个命令:vncserver,vncviewer,vncpasswd,和 vncconnect。大多数情况下用户只需要其中的两个命令:vncserver 和 vncviewer。


        本文刊发于《网络安全和信息化》2019年第8期。

第八期.jpg

        VNC (Virtual Network Console)是虚拟网络控制台的缩写,VNC 是在基于 UNIX 和 Linux 操作系统的免费的开源软件,远程控制能力强大,高效实用,其性能可以和 Windows 和 MAC 中的任何远程控制软件媲美。 在 Linux 中,VNC 包括以下四个命令:vncserver,vncviewer,vncpasswd,和 vncconnect。大多数情况下用户只需要其中的两个命令:vncserver 和 vncviewer。

VNC是远程连入操作系统,所有操作在UNIX、Linux主机服务端进行,即使操作过程中“本地电脑与操作主机网络断开”,也不影响操作的顺利进行,更重要的是,VNC是免费的、开源的。


CentOS7中安装并配置VNC的步骤如下:


1、准备工作,更改桌面模式或命令行模式。如果你的Centos系统本身就是桌面模式,此步可以不做。


1.1、获取当前系统启动模式

# systemctl get-default

如果得到结果是:multi-user.target,就需要再按1.2进行操作,如果得到的结果是:graphical.target,就直接进行第二步即可。

    1.2、查看配置文件

# 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

    那么我们就用以下命令进行模式的更改:

# systemctl set-default graphical.target    //由命令行模式更改为图形界面模式

注意,以下命令可以反设置。

# systemctl set-default multi-user.target    //由图形界面模式更改为命令行模式

可用systemctl get-default命令再查看一下会得到如下结果:

graphical.target


2、关闭防火墙。如果防火墙处于关闭状态,可以忽略此步。


    centos7 的防火墙是firewalld,关闭防火墙的命令则为:

# systemctl stop firewalld.service  #停止firewall

# systemctl disable firewalld.service  #禁止firewall开机启动

# setenforce 0

# getenforce

# cat /etc/sysconfig/selinux   #会看到以下结果

SELINUX=disabled

SELINUXTYPE=targeted


3、安装软件


# yum update  #这个过程可能会很长

# yum groupinstall "GNOME Desktop" "X Window System" "Desktop"

# yum install tigervnc-server tigervnc vnc vnc-server


4、配置vnc连接


# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

vi  /etc/systemd/system/vncserver@:1.service  #修改配置文件

找到这如下内容:

ExecStart=/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"

PIDFile=/home/<USER>/.vnc/%H%i.pid

这里直接用root 用户登录,所以把<USER>替换成root

ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"

PIDFile=/root/.vnc/%H%i.pid


5、为VNC设置密码


# vncpasswd

键入密码并确认,如:12345678,然后再按提示再输入并确认密码。

最后再修改文件qemu.conf

vi  /etc/libvirt/qemu.conf

vnc_listen = "0.0.0.0"  #去掉句首的#

vnc_password = "12345678"  #去掉句首的#


6、重加载 systemd


# systemctl daemon-reload


7、启动vnc


# systemctl enable vncserver@:1.service

# systemctl start vncserver@:1.service

或者直接用vncserver 命令启动,从启动成功的提示中可以看到日志文件名。

       图1.png                             

图1  用命令启动成功

图2.png

图2 去查看日志文件

打开这个日志文件,我们还可以看到端口号。

 

图3.png

图3  日志文件内容

 

注意,前面操作中已经关闭了防火墙,如果防火墙打开,需要开通一下规则:

# firewall-cmd --permanent --add-service vnc-server

# systemctl restart firewalld.service

如果是iptable,则需要在/etc/sysconfig/iptables文件中添加:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 5900:5903 -j ACCEPT

另外,关闭vnc连接命令是:

# /usr/bin/vncserver -kill :1


8、测试vnc连接


在Windows中下载并安装VNC Viewer,VNC远程连接信息如图4所示,其中ip是VNC服务端的地址,端口号为:5901。

图4.png

图4  用VNC Viewer连接

图5.png

图5  VNC Viewer连接成功