■ 河北科技师范学院 赵学作
编者按:VNC (Virtual Network Console)是虚拟网络控制台的缩写,VNC 是在基于 UNIX 和 Linux 操作系统的免费的开源软件,远程控制能力强大,高效实用,其性能可以和 Windows 和 MAC 中的任何远程控制软件媲美。
在 Linux中,VNC包 括以下四个命令 :vncserver,vncviewer,vncpasswd,和 vncconnect。 大 多 数情况下用户只需要其中的两 个 命 令:vncserver和vncviewer。
VNC是远程连入操作系统,所有操作在UNIX、Linux主机服务端进行,即使操作过程中“本地电脑与操作主机网络断开”,也不影响操作的顺利进行,更重要的是,VNC是免费的,开源的。
CentOS 7中安装并配置VNC的步骤如下:
1.准备工作,更改桌面模式或命令行模式。
(1)获取当前系统启动模式
# systemctl getdefault
如果得到结果是:multi-user.target,需 要再按1.2进行操作,如果得到的结果是:graphical.target,直接做第二步即可。
(2)查看配置文件
# cat /etc/inittab
那么会得到以下结果:
# inittab is no longer used when using systemd.
# A D D I N G CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-altdel.target
# systemduses'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 getdefault
# To set a default target, run:
# systemctl setdefault TARGET.target
那么我们就用以下命令进行模式的更改:
# systemctl setdefault graphical.target//由命令行模式更改为图形界面模式
注意:以下命令可反设置。
# systemctl setdefault multi-user.target//由图形界面模式更改为命令行模式
可 用systemctl get-default命令再查看一下会得到如下结果:
graphical.target
2.关闭防火墙。如果防火墙处于关闭状态,可以忽略此步。
centos 7 的防火墙是firewalld,关闭防火墙的命令则为:
# systemctl stop firewalld.service #停止firewall
# systemctl disable firewalld.service #禁止firewall开机启动
# setenforce 0
# getenforce
# cat /etc/sysconfig/selinux#会看到以下结果
SELINUX=disa bled
SELINUXTYPE=t argeted
3.安装软件
# yum update#这个过程可能会很长
# yum groupinstall"GNOME Desktop" "X Window System" "Desktop"
# y u m i n s t a l l tigervnc-server tigervnc vnc vnc-server
图1 用命令启动成功
图2 去查看日志文件
图3 日志文件内容
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
P I D F i l e=/home/
这里直接用root 用户登录,所以把
ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver%i"
P I D F i l e=/root/.vnc/%H%i.pid
5.为 VNC设置密码
# vncpasswd
键入密码并确认,如:12345678,然后再按提示再输入并确认密码。
最后再修改文件qemu.conf
vi /etc/libvirt/qemu.conf v n c_listen = "0.0.0.0" #去掉句首的#
v n c_p a s s w o r d ="12345678" #去掉句首的#
6.重加载 systemd
# systemctl daemonreload
7.启动vnc
# systemctl enable vncserver@:1.service
# systemctl start vncserver@:1.service
或者直接用vncserver命令启动,从启动成功的提示中可以看到日志文件名,如图1和图2所示。
打开这个日志文件,我们还可以看到端口号。
注意:前面操作中已经关闭了防火墙,如果防火墙打开,需要开通一下规则。
# f i r e w a l l-c m d--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远程连接信息如图3所示,其中ip是VNC服务端的地址,端口号为 :5901。