linux 基礎學習

22
VBird (2010/01/08) Linux 基基 -- X Window 基基基基 1 Linux 基基基基 Chapter 24 X Window 基基基基

Upload: sagira

Post on 05-Jan-2016

74 views

Category:

Documents


0 download

DESCRIPTION

Linux 基礎學習. Chapter 24 X Window 設定介紹. 內容. 什麼是 X Window System X Server 設定檔解析與設定 顯示卡驅動程式安裝範例. 24.1  什麼是 X Window System. 24.1.1 X Window 的發展簡史. 在 Unix Like 上面的圖形使用者介面 (GUI) 被稱為 X 或 X11 ; X11 是一個 『 軟體 』 而不是一個作業系統; X11 是利用網路架構來進行圖形介面的執行與繪製; - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Linux  基礎學習

VBird (2010/01/08) Linux 基礎 -- X Window 設定介紹 1

Linux 基礎學習

Chapter 24

X Window 設定介紹

Page 2: Linux  基礎學習

2

內容 什麼是 X Window System X Server 設定檔解析與設定 顯示卡驅動程式安裝範例

VBird (2010/01/08) Linux 基礎 -- X Window 設定介紹

Page 3: Linux  基礎學習

3

24.1  什麼是 X Window System

24.1.1 X Window 的發展簡史 在 Unix Like 上面的圖形使用者介面 (GUI) 被稱為 X 或 X11 ; X11 是一個『軟體』而不是一個作業系統; X11 是利用網路架構來進行圖形介面的執行與繪製; 較著名的 X 版本為 X11R6 這一版,目前大部分的 X 都是這一

版演化出來的 ( 包括 X11R7) ; 現在大部分的 distribution 使用的 X 都是由 Xorg 基金會所提供

的 X11 軟體; X11 使用的是 MIT 授權,為類似 GPL 的自由軟體授權方式。

Page 4: Linux  基礎學習

4

24.1  什麼是 X Window System

24.1.2 主要元件: X Server/X Client/Window Manager/Display Manager

X Window System 的架構

Page 5: Linux  基礎學習

5

24.1  什麼是 X Window System

X Server :硬體管理、螢幕繪製與提供字型功能 X Client :負責 X Server 要求的『事件』之處理 X Window Manager :特殊的 X Client ,負責管理所有的 X client

軟體 Display Manager :提供登入需求

Page 6: Linux  基礎學習

6

24.1  什麼是 X Window System

24.1.3 X Window 的啟動流程 在文字介面啟動 X :透過 startx 指令

X server 的參數方面:• 1. 使用 startx 後面接的參數;• 2. 若無參數,則找尋使用者家目錄的檔案,亦即 ~/.xserverrc• 3. 若無上述兩者,則以 /etc/X11/xinit/xserverrc• 4. 若無上述三者,則單純執行 /usr/bin/X ( 此即 X server 執行檔 )

X client 的參數方面:• 1. 使用 startx 後面接的參數;• 2. 若無參數,則找尋使用者家目錄的檔案,亦即 ~/.xinitrc• 3. 若無上述兩者,則以 /etc/X11/xinit/xinitrc• 4. 若無上述三者,則單純執行 xterm ( 此為 X 底下的終端機軟體 )

Page 7: Linux  基礎學習

7

24.1  什麼是 X Window System

在文字介面啟動 X :透過 startx 指令

啟動 X server 的檔案: xserverrc

啟動 X Client 的檔案: xinitrc

X 啟動的埠口X 視窗系統 顯示介面號碼 預設終端機 網路監聽埠口

第一個 X hostname:0 tty7 port 6000

第二個 X hostname:1 tty8 port 6001

Page 8: Linux  基礎學習

8

24.1  什麼是 X Window System

24.1.4 X 啟動流程測試1. 先來啟動第一個 X 在 :1 畫面中:[root@www ~]# X :1 &

單純啟動 X server 的情況

Page 9: Linux  基礎學習

9

24.1  什麼是 X Window System

2. 輸入數個可以在 X 當中執行的虛擬終端機[root@www ~]# xterm -display :1 &[root@www ~]# xterm -display :1 &

在 X 上面啟動 xterm 終端機顯示的結果

Page 10: Linux  基礎學習

10

24.1  什麼是 X Window System

3. 在輸入不同的 X client 觀察觀察,分別去到 tty8 觀察喔![root@www ~]# xclock -display :1 &[root@www ~]# xeyes -display :1 &

分別啟動 xclock 時鐘與 xeyes 眼睛的結果

Page 11: Linux  基礎學習

11

24.1  什麼是 X Window System

4. 輸入可以管理的 window manager [root@www ~]# twm -display :1 &

5. 將所有剛剛建立的 X 相關工作全部殺掉![root@www ~]# kill %6[root@www ~]# kill %5[root@www ~]# kill %4[root@www ~]# kill %3[root@www ~]# kill %2[root@www ~]# kill %1

視窗管理員 twm 的功能顯示

Page 12: Linux  基礎學習

12

24.1  什麼是 X Window System

24.1.5  我是否需要啟用 X Window System你如果想要玩 X Window 的話,特別需要考慮到這兩點:穩定性: X Window 僅是 Linux 上面的一個軟體,雖然目前的 X window 已經整

合得相當好了,但任何程式的設計都或多或少會有些臭蟲, X 當然也不例外。此外,在你的 Linux 伺服器上面啟用 X 系統的話,自然多一組程序的啟用 (X Window 會啟動多個程序來執行各項任務 ) ,系統的不確定性當然可能會增加一些。因此,鳥哥不是很建議對 Internet 開放的伺服器啟動 X Window 的啦!

效能: 無論怎麼說,程式在跑總是需要系統資源的,所以,多啟用了 X 就會造成一些系統資源的損耗。此外,上面也稍稍提到,某些 X 的軟體是相當耗費系統資源的呢!所以,啟動 X 可能會讓你的可用系統資源 (尤其是記憶體 ) 降低很多,可能會造成系統效能較低落的問題。

Page 13: Linux  基礎學習

13

24.2 X Server 設定檔解析與設定 24.2.1  解析 xorg.conf 設定

[root@www ~]# X -versionX Window System Version 7.1.1Release Date: 12 May 2006X Protocol Version 11, Revision 0, Release 7.1.1Build Operating System: Linux 2.6.18-53.1.14.el5PAE i686 Red Hat, Inc.Current Operating System: Linux localhost.localdomain 2.6.18-128.1.14.el5 #1 SMP Wed Jun 17 06:40:54 EDT 2009 i686Build Date: 21 January 2009Build ID: xorg-x11-server 1.1.1-48.52.el5 Before reporting problems, check http://wiki.x.org to make sure that you have the latest version.Module Loader present

Section "section name"…… <== 與這個 section name 有關的設定項目……EndSection

Page 14: Linux  基礎學習

14

24.2 X Server 設定檔解析與設定

至於常見的 section name 主要有 :

1.Module: 被載入到 X Server 當中的模組 (某些功能的驅動程式 ) ; 2.InputDevice: 包括輸入的 1. 鍵盤的格式 2. 滑鼠的格式,以及其他相關輸入設備;

3.Files: 設定字型所在的目錄位置等; 4.Monitor: 監視器的格式,主要是設定水平、垂直的更新頻率,與硬體有關; 5.Device: 這個重要,就是顯示卡晶片組的相關設定了; 6.Screen: 這個是在螢幕上顯示的相關解析度與色彩深度的設定項目,與顯示的行

為有關; 7.ServerLayout: 上述的每個項目都可以重覆設定,這裡則是此一 X server 要取

用的哪個

Page 15: Linux  基礎學習

15

24.2 X Server 設定檔解析與設定

24.2.2 X Font Server (XFS) 與加入額外中文字形[root@www ~]# vi /etc/X11/fs/config

client-limit = 10 <==最多允許幾個 X server 向我要求字型 ( 因為跨網路 )clone-self = on <== 與效能有關,若 xfs 達到限制值,啟動新的 xfscatalogue = /usr/share/X11/fonts/misc:unscaled, /usr/share/X11/fonts/75dpi:unscaled, /usr/share/X11/fonts/100dpi:unscaled, /usr/share/X11/fonts/Type1, /usr/share/X11/fonts/TTF, /usr/share/fonts/default/Type1,# 上面這些咚咚,就是字型檔案的所在!如果你有新字型,可以放置在該目錄。default-point-size = 120 <== 預 設 字 型 大小, 單位為 1/10 點 字 (point)default-resolutions = 75,75,100,100 <== 這個則是顯示的字型像素 (pixel)deferglyphs = 16 <==延遲顯示的字型,此為 16 bits 字型use-syslog = on <== 啟動支援錯誤登錄no-listen = tcp <== 啟動 xfs 於 socket 而非 TCP

Page 16: Linux  基礎學習

16

24.2 X Server 設定檔解析與設定 讓視窗管理員可以使用額外的字型

# 1. 將上述的三個檔案放置到系統設定目錄,亦即底下的目錄中:[root@www ~]# cd /usr/share/fonts/[root@www ~]# mkdir windows[root@www ~]# cp /root/*.tt[fc] /usr/share/fonts/windows# 2. 使用 fc-cache 將上述的檔案加入字型的支援中:[root@www ~]# fc-cache -f -v....( 前面省略 )..../usr/share/fonts/windows: caching, 4 fonts, 0 dirs....( 中間省略 )....fc-cache: succeeded# -v 僅是列出目前的字型資料, -f 則是強制重新建立字型快取!# 3. 透過 fc-list 列出已經被使用的檔案看看:[root@www ~]# fc-list : file <== 找出被快取住的檔名....( 前面省略 )..../usr/share/fonts/windows/kaiu.ttf:/usr/share/fonts/windows/times.ttf:/usr/share/fonts/windows/mingliu.ttc:....( 後面省略 )....

中文字形的調整結果

Page 17: Linux  基礎學習

17

24.2 X Server 設定檔解析與設定 24.2.3  設定檔重建與顯示器參數微調

關於螢幕解析度與更新率[root@www ~]# gtf 水平像素 垂直像素 更新頻率 [-xv]選項與參數:水平像素:就是解析度的 X 軸垂直像素:就是解析度的 Y 軸更新頻率:與顯示器有關,一般可以選擇 60, 75, 80, 85 等頻率-x :使用 Xorg 設定檔的模式輸出,這是預設值-v :顯示偵測的過程# 1. 使用 1024x768 的解析度, 75 Hz 的更新頻率來取得顯示器內容[root@www ~]# gtf 1024 768 75 -x# 1024x768 @ 75.00 Hz (GTF) hsync: 60.15 kHz; pclk: 81.80 MHzModeline "1024x768_75.00" 81.80 1024 1080 1192 1360 768 769 772 802 -HSync +Vsync# 重點是 Modeline 那一行!那行給他抄下來# 2. 將上述的資料輸入 xorg.conf 內的 Monitor 項目中:[root@www ~]# vim /etc/X11/xorg.confSection "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "Monitor Model" Modeline "1024x768_75.00" 81.80 1024 1080 1192 1360 768 769 772 802 -HSync +VsyncEndSection# 就是新增上述的那行特殊字體部分到 Monitor 的項目中即可。

Page 18: Linux  基礎學習

18

24.3  顯示卡驅動程式安裝範例

24.3.1 NVidia 下載驅動程式 開始安裝驅動程式

NVidia 驅動程式安裝示意

NVidia 驅動程式安裝示意

Page 19: Linux  基礎學習

19

24.3  顯示卡驅動程式安裝範例

NVidia 驅動程式安裝示意

NVidia 驅動程式安裝示意

NVidia 驅動程式安裝示意

NVidia 驅動程式安裝示意

NVidia 驅動程式安裝示意

NVidia 驅動程式安裝示意

Page 20: Linux  基礎學習

20

24.3  顯示卡驅動程式安裝範例

24.3.2 ATI (AMD)

ATI 顯示卡驅動程式安裝示意

ATI 顯示卡驅動程式安裝示意

Page 21: Linux  基礎學習

21

24.3  顯示卡驅動程式安裝範例

ATI 顯示卡驅動程式安裝示意

ATI 顯示卡驅動程式安裝示意

ATI 顯示卡驅動程式安裝示意

Page 22: Linux  基礎學習

22

24.3  顯示卡驅動程式安裝範例 24.3.3

Intel[root@www ~]# locate libdrm/usr/lib/libdrm.so.2 <==32位元的函式庫/usr/lib/libdrm.so.2.0.0/usr/lib64/libdrm.so.2 <==64位元放置位置不同!/usr/lib64/libdrm.so.2.0.0/usr/lib64/xorg/modules/linux/libdrm.so[root@www ~]# locate intel | grep xorg/usr/lib64/xorg/modules/drivers/intel_drv.so# 上面這個就是 Intel 的顯示卡驅動程式了!

[root@www ~]# vi /etc/X11/xorg.confSection "Device" Identifier "Videocard0" Driver "intel" <==原本可能會是使用 i810 喔EndSectionSection "Module" ....( 中間省略 ).... Load "glx" <== 這兩個很重要!務必要載入! Load "dri" ....( 中間省略 )....EndSectionSection "DRI" <== 這三行是新增的!讓大家都能使用 DRI Mode 0666 <== 基本上,就是權限的設定EndSection