X顯示管理器
顯示管理器(display manager)建基於X Window系統,調用X Window系統用作以GUI登入以及登入後顯示GUI畫面,以及以GUI切換用戶。GNU/Linux下的tty7預設開啟顯示管理器,tty1~6則為文字列介面
在X Window系統中,作為程式執行的X顯示管理器允許你在本地X伺服器或遠端X伺服器上開始一個對談。
顯示管理器呈現給用戶一個登入介面並提示輸入用戶和密碼。當用戶成功輸入正確的用戶和密碼,顯示管理器會開始一個對談。
當顯示管理器在用戶電腦上執行時,它會在顯示登入介面前開啟X伺服器,並能在用戶登出後任意的重複執行。在這種情況下,顯示管理器在X Window系統中實現init,getty和在字元類型終端下登入的功能。當顯示管理器執行在遠端電腦時,它扮演類似telnet伺服器的角色,需要用戶名和密碼才開始一個遠端對談。
1988年10月X11 Release 3引入了顯示管理器,它的目標是在市場上支援獨立的X終端機。多種顯示管理器繼續一成不變的在執行X系統的獨立的工作站上提供圖形化登入提示。1989年12月X11R4引入X顯示管理器控制協定(XDMCP)來修復由X11R3帶來的問題。
本地和遠端顯示管理
[編輯]顯示管理器可以執行在用戶面前的電腦上也可以執行在遠端電腦上。第一種情況,顯示管理器會自動開始一個或多個X伺服器,並顯示登入介面。第二種情況,顯示管理器要通過XDMCP協定工作。
XDMCP協定要求X伺服器能自發的啟動並連接到顯示管理器。在X Window系統範例中,X伺服器執行的那台電腦提供顯示和輸入裝置。X伺服器能夠連接(使用XDMCP協定)到另一台執行顯示管理器的電腦,並請求開始對談。在這種情況下,X伺服器扮演類似圖形化telnet客戶端的角色,而顯示管理器類似telnet伺服器:用戶啟動的程式是執行在顯示管理器那台電腦,而它們的輸入和輸出是工作在X伺服器(用戶面前)那台電腦上。
管理員可以組態X伺服器連接到某個指定的顯示管理器,或顯示執行X顯示管理器的主機列表。XDMCP選擇器程式允許用戶選擇下面其中一個能連接到的主機:
- 一個預先定義好的主機列表,它們有各自的網絡地址;
- 一個主機列表(工作於本地IP網段),它們的XDMCP伺服器可以通過廣播地址找到。
XDMCP伺服器經常出現在這個列表中。當用戶從列表中選中一個主機,工作於本地電腦的X伺服器會連接選中的遠端電腦的X顯示管理器。
X顯示管理器控制協定(XDMCP)
[編輯]X顯示管理器控制協定使用UDP 177 埠。需要顯示管理器開始一個對談時,X伺服器需要向其傳送Query
包。如果顯示管理器允許X伺服器的訪問,它會向X伺服器返回Willing
包作為回應。(X伺服器也可以傳送BroadcastQuery
或IndirectQuery
包來開始一個對談,這種機制類似於使用DHCP來獲得IP位址。)
顯示管理器必須向X伺服器進行認證。為做到這一點,X伺服器傳送Request
包給顯示管理器,顯示管理器返回一個Accept
包。如果Accept
包包含了X伺服器期望的響應,則顯示管理器通過認證。舉例來說,為生成正確的響應可能需要顯示管理器訪問一個金鑰。如果認證成功,X伺服器會傳送Manage
包來告訴顯示管理器。然後,顯示管理器會作為一個常規的X客戶端向連接的X伺服器顯示登入介面。
在對談期間,X伺服器會間隔的向顯示管理器傳送KeepAlive
包。如果顯示管理器在一段時間內沒有回應Alive
包,X伺服器會假定顯示管理器停止執行,並終止該連接。
XDMCP有一個問題,類似telnet,認證時是不加密的並且如果能夠嗅探,這會讓系統易受到攻擊。比較安全的方法是對X通訊使用ssh通道。[1] (頁面存檔備份,存於互聯網檔案館)
歷史
[編輯]XDM是在X11R3中引入的。這個版本出現了幾個問題,最顯著的一個是當用戶打開X終端電源時。在X11R3中,XDM只能通過Xservers檔案得知一個X終端,但是只有在啟動時XDM才會讀取這個檔案。因此,每次用戶打開X終端電源時,系統管理員不得不傳送SIGHUP訊號給XDM指示它重新讀取Xservers檔案。
X11R4(1989年10月)引入了XDMCP。使用XDMCP時,X伺服器必須主動請求一個顯示管理器連接。當X伺服器使用XDMCP時就不再需要Xservers檔案。
一些實例
[編輯]X Window系統使用XDM做為它標準的顯示管理器。
也有其他X顯示管理器被開發出來,有商業有開源,在基本的顯示管理上提供了附加的功能。
- Qingy (頁面存檔備份,存於互聯網檔案館)在X Window中超輕型和可組態的圖形化登入管事器(使用DirectFB)
- scologin(由SCO Open Desktop提供)能檢查過期密碼和執行一些管理任務
- GDM(由GNOME提供)
- KDM(由KDE提供)允許用戶在登入介面圖形化的選擇某個視窗管理員或桌面環境
- XDM是X Window系統的預設顯示管理器
- LDM,Linux Terminal Server Project的(遠端)顯示管理器
- dtlogin(工作於CDE)
- WINGs Display Manager(使用WINGs widget-set,用於Window Maker)
- entranced/entrance (employs the architecture used in Enlightenment v.17, on hiatus since 2005)
- LXDM,一個輕量級的顯示管理器http://wiki.lxde.org/en/LXDM (頁面存檔備份,存於互聯網檔案館)
- SLiM,一個獨立的登入管理器
- CDM,一個Linux下的超輕量級控制台顯示管理器
- xlogin,X Window登入和獨立的XDMCP伺服器
- Enter,輕量級的圖形登入管理器
- Orthos,另一個輕量級的解決方案附帶真正的結構化主題
- nodm,針對收款機、電器和流動電話的自動登入的顯示管理器(已停止開發[1])
- LightDM,Canonical公司開發的輕量級、模組化、跨桌面,完全更換主題的桌面管理器
在大多數Linux發行版中,系統預設的顯示管理器由/etc/X11/default-display-manager檔案選擇(註:本條已不適用使用Gnome或KDE的現代Linux發行版)
參見
[編輯]參考文獻
[編輯]- ^ Added a bigger not maintained note · spanezz/nodm@0552524. GitHub. [2020-10-31] (英語).
外部連結
[編輯]- Linux XDMCP HOWTO (頁面存檔備份,存於互聯網檔案館)
- 馴服X顯示管理器 (頁面存檔備份,存於互聯網檔案館)
- X Display Manager (頁面存檔備份,存於互聯網檔案館),來自*FreeBSD手冊 (頁面存檔備份,存於互聯網檔案館)
- 從Windows中使用XDMCP登入Linux使用Windows登入Linux。