几个常用 Linux 桌面/窗口管理器的内存占用对比

A Memory Comparison of Light Linux Desktops 这篇文章比较了几个常用 Linux 桌面/窗口管理器的内存占用情况,个人使用的比较多的超轻量级窗口管理器 dwm 只占用 1MB,Fluxbox 占用 16MB,XFCE 占用 70MB,平铺窗口管理器里面最受欢迎的 xmonad 没有被提及。

大家喜欢用什么桌面/窗口管理器呢?

桌面/窗口管理器 内存占用
wm2 0.7MB
dwm 1MB
Ratpoison 1MB
JWM 3MB
i3 3MB
Blackbox 3MB
IceWM 4.5MB
Openbox 7MB
Window Maker 7MB
awesome 9MB
FVWM 13MB
Fluxbox 16MB
E17 35MB
LXDE 36MB
XFCE 70MB
Gnome 3 155MB
Unity 192MB
KDE 201MB

超轻量级窗口管理器:dwm

如果把 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 运行的界面如下:

dwm