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

VNC簡介:

   VNC由Olivetti & Oracle研究室所開發,此研究室在1999年併入美國電話電報公司(AT&T)。AT&T於2002年停止了此研究室的運做,並把VNC以GPL發佈。python

   由於它是免費的, 以及可用於數量龐大的不一樣操做系統, 它的簡單,可靠,和向後兼容性, 使之進化成爲最爲普遍使用的遠程控制軟件,多平臺的支持對網絡管理員是十分重要的,他使網絡管理員可使用一種工具管理幾乎全部系統。linux

   原來的AT&T版本已經再也不使用,由於更多有重大改善的分支版本已經出現, 像是RealVNC, VNC tight 和UltraVNC, 他們具備全面的向後兼容。至少對於基本的遠程控制功能而言。 Real VNC 是當前最活躍和強大的主流應用。vim


VNC原理:緩存

   VNC系統由客戶端,服務端和一個協議組成;VNC的服務端目的是分享其所運行機器的屏幕, 服務端被動的容許客戶端控制它。 VNC客戶端(或Viewer) 觀察控***務端,與服務端交互。 VNC 協議 RFB(Remote Frame Buffer 遠程幀緩衝)是一個簡單的協議,傳送服務端的原始圖像到客戶端(一個X,Y 位置上的正方形的點陣數據), 客戶端傳送事件消息到服務端。服務器

   服務器發送小方塊的幀緩存給客戶端,在最簡單的狀況,VNC協議使用大量的帶寬, 所以各類各樣的方法被髮明出來減小通信的開支,舉例來講,有各類各樣的編碼方法來決定最有效率的方法來傳送這些點陣方塊;協議容許客戶端和服務端去協議哪一種編碼會被使用, 最簡單的編碼,被大多數客戶端和服務端所支持的是, 從左到右的像素掃描數據的原始編碼, 當原始的滿屏被髮送後,只發送變化的方塊區域。這種編碼在幁間只有小部分屏幕變化的狀況下工做的很是好(像是鼠標鍵在桌面移動的狀況,或在光標處敲擊文字), 不過若是大量的像素同時變化帶寬將會增長的很是高,像是拖動一個窗口或觀看全屏錄像。網絡


linux下兩種桌面環境的簡單介紹:app

KDEide

   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爲例):

一、查看/etc/sysconfig/vncservers 配置文件,肯定用戶的"X DISPLAY # ",vnc1用戶的ID號碼爲「2」

二、[root@bogon ~]# vncserver -kill :2  #強制結束進程

       Killing Xvnc process ID 3405

三、[root@bogon ~]# vncserver :2   #從新啓動vnc1的vnc服務


添加新用戶具並讓其具備vnc遠程接入功能的配置思路:

一、增長系統用戶及密碼

二、切換到該用戶設置vnc登錄密碼

三、修改/etc/sysconfig/vncservers配置文件

四、從新啓動vncserver服務

相關文章
相關標籤/搜索