






























我已经用XMonad作为窗口管理器好几年了,XMonad非常稳定,但是中文里一直都没有一篇 比较好懂的XMonad配置教程,我想可能的原因是XMonad的门槛比较高—配置需要懂一点 Haskell。
如果你还没有听过Haskell,我想需要先了解一下Haskell:
最开始玩的时候,我是傻傻分不清这两个东西。竟然还有窗口管理器这个东西?
桌面环境是指一些集成了很多工具的集合,例如 Gnome,例如 KDE,例如Windows桌面。
而窗口管理器则是其中一个单独的部分,专门用来管理窗口(window)该要怎么摆放。
绝大部分桌面提供的窗口管理器都是手动档,即需要用户手动去把窗口移到不同的地方,调整 成不同的大小。如图:

而XMonad则是自动档,它会自动帮你调整窗口的大小。再加上XMonad的另一个特性:平铺。 窗口管理器一般分为两种,平铺式和遮盖式。遮盖式即像Windows7那样,一个窗口遮挡住 另外一个窗口,而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,就可以看到一个icon,点开就可以管理网络了本来最开始我想讲一讲怎么配置的,后来我想了一下,XMonad门槛高就高在,其配置文件是Haksell写的, 而Haskell一时半会儿讲不完,所以我只能说,我学习配置XMonad的过程,主要是:
Haskell的好处就在于,你知道 main函数里 xmonad需要接什么参数,然后按照类型提示 把参数塞进去就可以。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。