若是把 X 窗口管理按照重量來劃分的話,GNOME/KDE 是兩大重量級桌面系統,XFCE 是中型桌面,FVWM, Fluxbox, Blackbox, IceWM 等能夠看做輕量級的桌面/窗口管理器。更輕量級的窗口管理器就要數 dwm, xmonad, awesome, ratpoison 等了,這類管理器也叫作平鋪窗口管理器(Tiling window manager),它們的特色是:佔用資源不多,能夠徹底的鍵盤控制,窗口布局通常不疊加而且能平鋪整個屏幕、不浪費屏幕像素儘可能增長可視範圍等,很是適合服務器或者資源有限的機器使用。VPSee 就在一臺古董級 Thinkpad上使用 DWM,一個工做區能夠平鋪6個窗口用來監視6個 Linksys WRT54GL 無線路由器的鏈接情況。
由於大部分的工做和時間都鎖定在 terminal, vim, firefox,mutt,沒有理由爲了這4個工具就安裝幾百兆臃腫的桌面環境,一個輕量的桌面環境能讓我更好的把注意力集中在工做上。dwm 就是一款我須要的平鋪窗口管理器,用 C 語言寫的,所有代碼不到2000行,不須要依賴其餘庫就能夠編譯,與其餘幾款平鋪窗口管理器不一樣的是它沒有可配置文件供修改,要修改它的配置只能經過修改它的源代碼,也就是說每次都須要經過修改 dwm 的源代碼(其實就是一個頭文件而已,config.def.h)、編譯而後安裝來配置 dwm. 也有一些平鋪窗口管理器是從 dwm 分出來的,好比 awesome, xmonad 等。LinuxToy 介紹了平鋪式窗口管理器:awesome 和另外一個平鋪式窗口管理器:ion,感興趣的話能夠比較一下。
使用技巧
啓動 terminal:Shift+Alt+Enter
啓動 dmenu:Alt+p
移動一個窗口到另外一個 tag:Shift+Alt+2
轉移到另外一個 tag:Alt+2
關閉一個窗口:Shift+Alt+c
移動和重設窗口大小:Alt+mouse button
退出 dwm:Shift+Alt+q
dwm 運行的界面以下:
平鋪式窗口管理器——Awesome
首先科普一下 Tiling window manager,直譯就是「瓦片式窗口管理器」;意譯爲「平鋪式窗口管理器」。
假設你須要同時監視多個程序的狀態並進行操做(這種狀況很是之廣泛),你就須要不停的按Alt+Tab切換,可是這會加速Alt尤爲是Tab的磨損(手的磨損忽略了,由於它是可再生的)。
聰明的人就會想出這一招,見圖1:
可是要先調整窗口布局,並且老是不太合適,有點縫隙啥的,分散注意力。
而在Tiling window manager 中,不管有多少個窗口,都會把屏幕佔滿,見圖2:
它的窗口沒有標題欄(標題在狀態欄上),邊框儘量的窄(可再設置爲0),以最大程度的節約桌面空間。
awesome還有超低的資源佔用率。
徹底的鍵盤控制(在普通的窗口管理器中,徹底鍵盤控制是不現實的,由於調整窗口位置不管如何要用鼠標。而Tiling WM中則不須要調整窗口位置)
首先把修飾鍵設置爲WIN鍵,這樣不會和其它的快捷鍵衝突。附件裏有配置文件,能夠直接使用。
- WIN+數字鍵 切換工做區
- WIN+Space 切換窗口布局好比水平佈局下,新開窗口與原窗口水平分割桌面。
佈局有下面幾種:
- 水平佈局與垂直佈局各兩種,區別在於新開窗口的位置。它們是最經常使用的佈局
- 全屏佈局。這個不實用,能夠用WIN+m最大化/還原當前窗口
- 螺旋佈局。彷佛也不太實用,反正我不多用
- 逐漸減少佈局。和上面的那個差很少
- 浮動佈局。相似傳統窗口管理器的佈局
- WIN+ENTER 開啓預設的終端
- WIN+SHIFT+C 關閉當前窗口
- WIN+SHIFT+數字鍵 把當前窗口發送到其它工做區
- WIN+j WIN+k 切換到其它窗口
- WIN+h WIN+l 調整當前窗口大小這一組快捷鍵是VI風格的。
- WIN+F2 運行程序
看圖 4 頂部的狀態欄就是dmenu的菜單 根據你的輸入動態的顯示匹配選項 用方向鍵進行選項
對於窗口管理器的選擇,咱們須要考慮的無非如下幾點:
- 配置 簡單OR複雜
- 功能 強大OR實用
- 視覺 華麗OR樸素
- 配置除了FVWM這種矯揉造做的WM,配置起來嚴重麻煩;其它WM的配置方式雖然不一樣,可是配置的難度基本在同一量級。
- 功能這一方面,我想大多數人被忽悠了。別家有的功能,咱必定要有;別家沒有的功能……那就是賣點。這種無序競爭致使了WM中的大部分功能用戶根本用不到,卻佔用了不少的系統資源。因此FVWM的賣點就來了——自由配置,想要什麼功能本身加,用不着的功能嘛……除非有病,否則誰費老鼻子的力氣配置本身根本不須要的功能。
- 華麗的視覺效果養眼,不過效果很差。我用過一段時間的compiz,視力並無好轉。向別人炫耀,尤爲是對華麗敏感的別人,好比說MM。佔用更多的系統資源。
在長期使用的狀況下,配置和視覺效果是能夠忽略的,而最重要的是功能。那咱們須要什麼樣的功能呢?你們應該注意到了:
- 重量級窗口管理器,如metacity(GNOME)、Kwin(KDE)等,它們的功能五花八門,差異也很大
- 而羽量級窗口管理,如Fluxbox、IceWM等等等等,它們的功能都差很少
上面說了,以功能強大爲賣點的WM,它們之間比拼的是功能多少,因此功能×××。而以短小精悍爲賣點的WM,則是越苗條越好,這是一種尋底競爭,最終結果就是保留最少的有用功能。而真正有用的功能,也就那麼幾個,沒啥不同的。
羽量級窗口管理都有什麼功能呢?
- 調整窗口位置,層次…… Tiling WM中的方式更有效率
- 桌面背景 Tiling WM中不須要
- 開始菜單、右鍵菜單 Tiling WM中不須要
- 鍵盤控制 Tiling WM中被強化
- 工做區
- 狀態欄
- 運行對話框 Tiling WM中被強化
- 啓動終端快捷鍵
另:我花了很長時間,差很少把能找到的Tiling WM試遍了。把它們的特色/缺點彙報一下:
- DWM 窗口布局較少,標題欄中文亂碼(不過有中文補丁能夠解決這個問題),使用鼠標操做窗口極易形成混亂
- WMII 調整窗口大小要用鼠標,每一個窗口頂部有微型標題欄,標題欄亂碼
如下是第一時間刪除的,還有一些記不起名字了:
- xmonad 要安裝體積超大的Haskell
- ION3 標題欄中文,風格不喜歡,窗口間有縫
- larswm 同上