XMonad 配置教程
我已經用XMonad作為視窗管理器好幾年了,XMonad非常穩定,但是中文裡一直都沒有一篇 比較好懂的XMonad配置教程,我想可能的原因是XMonad的門檻比較高---配置需要懂一點 Haskell。
如果你還沒有聽過Haskell,我想需要先了解一下Haskell:
- ofollow,noindex" target="_blank">Learn You a Haskell For Great Good
- 一步一步學Haskell(三):Haskell語法
視窗管理器和桌面環境
最開始玩的時候,我是傻傻分不清這兩個東西。竟然還有視窗管理器這個東西? 桌面環境是指一些集成了很多工具的集合,例如 Gnome
,例如 KDE
,例如Windows桌面。 而視窗管理器則是其中一個單獨的部分,專門用來管理視窗(window)該要怎麼擺放。
絕大部分桌面提供的視窗管理器都是手動檔,即需要使用者手動去把視窗移到不同的地方,調整 成不同的大小。如圖:
而XMonad則是自動檔,它會自動幫你調整視窗的大小。再加上XMonad的另一個特性:平鋪。 視窗管理器一般分為兩種,平鋪式和遮蓋式。遮蓋式即像Windows7那樣,一個視窗遮擋住 另外一個視窗,而XMonad則與之相反,是平鋪式,即視窗和視窗之間互不遮擋,例如這樣:
安裝XMonad
XMonad現在最新的版本是 0.13
。一般會分成兩個包: xmonad
和 xmonad-contrib
。前者 是XMonad的核心,而後者則是一些使用者貢獻的外掛。
$ sudo pacman -S xmonad xmonad-contrib $ sudo apt-get install xmonad xmonad-contrib
此時執行一下 ls /usr/share/xsessions/
會發現多了一個 xmonad.desktop
,但是 先不要著急退出當前視窗管理器或者桌面環境,先安裝一下 dmenu
。
$ sudo pacman -S dmenu $ sudo apt-get install dmenu
此外還需要保證自己安裝了最少一個終端程式,例如 gnome-terminal
或者 xterm
。
然後退出當前桌面環境或者視窗管理器,選擇xmonad,然後輸入使用者名稱密碼,登入之後就會 發現空空的啥也沒有了。不要擔心,這樣才是正常的:
開始配置
我們首先當然是一通亂按,發現什麼也沒有。
然後我們按下 alt
和 p
,這時候看最上面,是不是出現了一個可以輸入字元的地方? 那就是dmenu。假設我們安裝的終端模擬器是 gnome-terminal
,那麼我們輸入 gnome-terminal
然後回車, gnome-terminal
就會顯現在我們眼前了。之後我們輸入一個簡單的配置檔案。
$ cat ~/.xmonad/xmonad.hs import XMonad import XMonad.Config.Desktop import XMonad.Hooks.EwmhDesktops main = do xmonad $ ewmh $ desktopConfig { terminal = "gnome-terminal" }
然後我們按下 alt
和 q
,稍等一下,duang,是不是立馬就變了樣呢?此時我們多次 按下 shift
, alt
和 enter
,會發現多個終端自動被排列好, shift
, alt
, c
則關閉 了當前聚焦的視窗。
常用快捷鍵
那當然是要看 man page
啦。開啟終端模擬器,輸入 man xmonad
。此處需要提醒的是 mod
和 modMask
預設情況下指的都是 alt
鍵。
其他軟體
學完了XMonad的常用快捷鍵,接下來我們看看一些常用的軟體:
nm-applet
如何配置
本來最開始我想講一講怎麼配置的,後來我想了一下,XMonad門檻高就高在,其配置檔案是Haksell寫的, 而Haskell一時半會兒講不完,所以我只能說,我學習配置XMonad的過程,主要是:
- 看 官方教程
- 看別人的配置: 別人的 , 我的
- Google搜尋問題如何解決
- 看官方文件: http://hackage.haskell.org/package/xmonad
Haskell的好處就在於,你知道 main函式裡 xmonad需要接什麼引數,然後按照型別提示 把引數塞進去就可以。