■ 河北科技師范學院 趙學作
編者按:VNC (Virtual Network Console)是虛擬網(wǎng)絡控制臺的縮寫,VNC 是在基于 UNIX 和 Linux 操作系統(tǒng)的免費的開源軟件,遠程控制能力強大,高效實用,其性能可以和 Windows 和 MAC 中的任何遠程控制軟件媲美。
在 Linux中,VNC包 括以下四個命令 :vncserver,vncviewer,vncpasswd,和 vncconnect。 大 多 數(shù)情況下用戶只需要其中的兩 個 命 令:vncserver和vncviewer。
VNC是遠程連入操作系統(tǒng),所有操作在UNIX、Linux主機服務端進行,即使操作過程中“本地電腦與操作主機網(wǎng)絡斷開”,也不影響操作的順利進行,更重要的是,VNC是免費的,開源的。
CentOS 7中安裝并配置VNC的步驟如下:
1.準備工作,更改桌面模式或命令行模式。
(1)獲取當前系統(tǒng)啟動模式
# 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.關閉防火墻。如果防火墻處于關閉狀態(tài),可以忽略此步。
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 日志文件內(nèi)容
4.配置vnc連接
# cp /lib/systemd/system/vncserver@.service/etc/systemd/system/vncserver@:1.service
vi /etc/systemd/system/vncserver@:1.service #修改配置文件
找到這如下內(nèi)容:
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所示。
打開這個日志文件,我們還可以看到端口號。
注意:前面操作中已經(jīng)關閉了防火墻,如果防火墻打開,需要開通一下規(guī)則。
# 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。