若是把 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 同上