歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux下桌面環境介紹及VNC的使用

Linux下桌面環境介紹及VNC的使用

日期:2017/2/28 14:35:45   编辑:Linux教程

VNC簡介:
VNC由Olivetti & Oracle研究室所開發,此研究室在1999年並入美國電話電報公司(AT&T)。AT&T於2002年中止了此研究室的運作,並把VNC以GPL發布。
因為它是免費的, 以及可用於數量龐大的不同操作系統, 它的簡單,可靠,和向後兼容性, 使之進化成為最為廣泛使用的遠程控制軟件,多平台的支持對網絡管理員是十分重要的,他使網絡管理員可以使用一種工具管理幾乎所有系統。
原來的AT&T版本已經不再使用,因為更多有重大改善的分支版本已經出現, 像是RealVNC, VNC tight 和UltraVNC, 他們具有全面的向後兼容。至少對於基本的遠程控制功能而言。 Real VNC 是當前最活躍和強大的主流應用。


VNC原理:
VNC系統由客戶端,服務端和一個協議組成;VNC的服務端目的是分享其所運行機器的屏幕, 服務端被動的允許客戶端控制它。 VNC客戶端(或Viewer) 觀察控***務端,與服務端交互。 VNC 協議 RFB(Remote Frame Buffer 遠程幀緩沖)是一個簡單的協議,傳送服務端的原始圖像到客戶端(一個X,Y 位置上的正方形的點陣數據), 客戶端傳送事件消息到服務端。
服務器發送小方塊的幀緩存給客戶端,在最簡單的情況,VNC協議使用大量的帶寬, 因此各種各樣的方法被發明出來減少通訊的開支,舉例來說,有各種各樣的編碼方法來決定最有效率的方法來傳送這些點陣方塊;協議允許客戶端和服務端去協議哪種編碼會被使用, 最簡單的編碼,被大多數客戶端和服務端所支持的是, 從左到右的像素掃描數據的原始編碼, 當原始的滿屏被發送後,只發送變化的方塊區域。這種編碼在幁間只有小部分屏幕變化的情況下工作的非常好(像是鼠標鍵在桌面移動的情況,或在光標處敲擊文字), 不過如果大量的像素同時變化帶寬將會增加的非常高,像是拖動一個窗口或觀看全屏錄像。

Linux下兩種桌面環境的簡單介紹:
KDE
KDE(Kool Desktop Environment)項目始建於1996年10月,相對於GNOME還要早一些。KDE項目是由圖形排版工具Lyx的開發者、一位名為Matthias Ettrich的德國人發起的,目的是為滿足普通用戶也能夠通過簡單易用的桌面來管理Unix工作站上的各種應用軟件以及完成各種任務。
GNOME
GNOME(GNU Network Object Model Environment)計劃發起於1997年8月,所以,你可以在GNOME的LOGO上見到1997的字樣。發起人是Miguel de Icaza和Federico Mena,GNOME計劃當初的目標就是完全基於自由軟件,構造那種功能完善、操作簡單以及界面友好的桌面環境,希望走國際化道路,盡可能多地為各種國家的人所使用。目前,GNOME已經基本上可以成為KDE的替代品。

在CentOS 5與CentOS 6上與桌面環境相關的套件組名不太一樣:
CentOS 5.x:

GNOME: GNOME Desktop Environment
KDE: KDE (K Desktop Environment)
CentOS 6.x:

GNOME: Desktop
KDE: KDE Desktop

實戰操作
實驗環境:在虛擬機中安裝Centos 6.4_x64操作系統,以最小化方式安裝,並自定義安裝軟件選擇了“Development tools”和“Server Platform Development”兩個開發包組。

(GNOME)桌面環境安裝:
[root@bogon ~]# yum -y groupinstall “X Window System” #這是窗口管理程序,目前系統中已安裝了xorg,所以可以不用安裝
[root@bogon ~]# yum -y groupinstall Desktop #這個套件包組有許多包,耐心進行安裝;要安裝KDE環境時把這裡換成相應的套件組名
[root@bogon ~]# startx #用此命令可以進入GNOME桌面環境

vnc的安裝配置:
查找vnc相應的安裝包:
[root@bogon ~]# yum list | grep vnc
gtk-vnc.i686 0.3.10-3.el6 base
gtk-vnc.x86_64 0.3.10-3.el6 base
gtk-vnc-devel.i686 0.3.10-3.el6 base
gtk-vnc-devel.x86_64 0.3.10-3.el6 base
gtk-vnc-python.x86_64 0.3.10-3.el6 base
libvncserver.i686 0.9.7-4.el6 base
libvncserver.x86_64 0.9.7-4.el6 base
libvncserver-devel.i686 0.9.7-4.el6 base
libvncserver-devel.x86_64 0.9.7-4.el6 base
tigervnc.x86_64 1.1.0-8.el6_5 updates
tigervnc-server.x86_64 1.1.0-8.el6_5 updates
tigervnc-server-applet.noarch 1.1.0-8.el6_5 updates
tigervnc-server-module.x86_64 1.1.0-8.el6_5 updates
在Centos6中名稱已改成tigervnc了,真的很奇怪。
安裝tigervnc:
[root@bogon ~]# yum -y install tigervnc.x86_64 tigervnc-server.x86_64
設置vncserver自動啟動:
[root@bogon ~]# chkconfig --list | grep vnc
vncserver 0:off1:off2:off3:off4:off5:off6:off
[root@bogon ~]# chkconfig vncserver on
[root@bogon ~]# chkconfig --list | grep vnc
vncserver 0:off1:off2:on3:on4:on5:on6:off
增加vnc的測試用戶且配置vnc接入密碼:
[root@bogon ~]# useradd vnc1
[root@bogon ~]# passwd vnc1
[root@bogon ~]# su vnc1
[vnc1@bogon root]$ vncpasswd
Password:
Verify:
要想root用戶也能通過vnc的方式接入服務器,也要為root用戶設置vnc密碼。
配置vncservers配置文件:
[root@bogon ~]# vim /etc/sysconfig/vncservers #在最後增加下行
VNCSERVERS="1:root 2:vnc1"
啟動vncserver服務:
[root@bogon ~]# service vncserver start
PS:
一些資料上說建議修改用戶家目錄下的“~/.vnc/xstartup”文件的最後的“twm &”,把這行替換成“gnome-seesion &”,如果是KDE桌面那就修改成“startKDE &”,保存後重新啟動vncserver服務。
twm 啟動twm窗口管理器
gnome-seesion 啟動gnome的窗口管理器
startKDE 啟動KDE的窗口管理器
但我沒有發現有什麼區別。

最後下載realvnc來進行測試:

######################## Test VNC server ######################
Now, download VNCViewer onto our desktop computer from which we want to access the shared
desktop.
download link: http://www.realvnc.com/download/viewer/
start vnc tool & type
serverip:1 or serverip:2 [1 for root user & 2 for vnc1 user]
example:
192.168.1.200:1 or 192.168.1.200:2 (192.168.1.200 is vncserver Ip)
Enter the password that we created using the vncpasswd command:

VNCSERVER的簡單管理:
當一用戶反饋說他不能通過VNC Viewer接入服務器或都管理員強制關閉用戶的遠程桌面連接時,管理員可以這樣來處理(以用戶vnc1為例):
1、查看/etc/sysconfig/vncservers 配置文件,確定用戶的"X DISPLAY # ",vnc1用戶的ID號碼為“2”
2、[root@bogon ~]# vncserver -kill :2 #強制結束進程
Killing Xvnc process ID 3405
3、[root@bogon ~]# vncserver :2 #重新啟動vnc1的vnc服務


添加新用戶具並讓其具有vnc遠程接入功能的配置思路:
1、增加系統用戶及密碼
2、切換到該用戶設置vnc登陸密碼
3、修改/etc/sysconfig/vncservers配置文件
4、重新啟動vncserver服務

Copyright © Linux教程網 All Rights Reserved