Linux桌面“彩”起来:桌面环境及窗口管理器大盘点

  看到这个标题,不少人必定认为桌面环境和窗口管理器是一回事,但严格来讲窗口管理器和桌面环境是有区别的。桌面环境(Desktop Environments)是最近发展起来的桌面图形环境,它的主要目标是为Linux/Unix操做系统提供一个更加完善的界面以及大量各种整合工具和应用程序,其简单易用性吸引着大量的新用户,Linux世界最多见的桌面环境就是GNOME和KDE。窗口管理器(Window Manager)是一个能够控制X窗口环境中窗口属性的软件。简单地说窗口管理器管理窗口的外观形式、桌面菜单、图标、虚拟桌面以及按钮样式等一切显示在屏幕上的样式。若是非要用一个词来包括它们,就用“图形环境”吧。 html


        说到最出彩的桌面环境,确定是 GNOME 和Kde两个了。 

        GNOME 即GNU网络对象模型环境 (The GNU Network Object Model Environment),GNU计划的一部分,开放源码运动的一个重要组成部分。 是一种让使用者容易操做和设定电脑环境的工具。目标是基于自由软件,为Unix或者类Unix操做系统构造一个功能完善、操做简单以及界面友好的桌面环境,他是GNU计划的正式桌面。 linux

 

        KDE,K桌面环境(K Desktop Environment)的缩写。一种著名的运行于Linux、Unix以及FreeBSD等操做系统上面自由图形工做环境,整个系统采用的都是TrollTech公司所开发的Qt程序库。KDE和Gnome都是Linux操做系统上最流行的桌面环境系统。 vim

 

        再说说其余图形环境,Xfce是一个运行在各种Unix下的轻量级桌面环境,暂且提它一提,它相似于商业图形环境CDE。它的做者是Olivier Fourdan。两年之前,Olivier Fourdan试图寻找一个快速、友好、高效的Linux桌面,因而XFce就这样诞生了。XFce最早是基于 XForms三维图形库,随后又开发了一些后续版本。去年Olivier Fourdan将其工做转移到GNOME的核心工具GTK+上。XFce最主要的特点是容易配置,整个过程均可以使用鼠标来完成,而不须要修改配置文件的代码。最新版本的XFce还支持鼠标拖放、系统任务管理、多字节在内的多国语言以及其它特征。 

        Fluxbox是一个基于GNU/Linux的轻量级图形操做界面,它虽然没有GNOME和KDE那样精美,但因为它的运行对系统资源和配置要求极低,因此它被安装到不少较旧的或是对性能要求较高的机器上,其菜单和相关配置被保存于用户根目录下的.fluxbox目录里,这样使得它的配置极为便利。 windows

 

        Openbox项目是一套彻底遵循标准的快速、轻型、可扩展性强的窗口管理器。Openbox 3系列是一套全新的窗口管理器,没有继承之前任何一款同类软件的代码,尽管外观上仍是很像Blackbox(Openbox 2系列的代码是基于Blackbox 0.65.0)。Openbox能够做为一个独立的运行环境,同时也能够仅仅做为窗口管理器来替代像KDE、Gnome等桌面环境的默认窗口管理器。 

        IceWM是一个超小型的轻量级窗口管理器,其主要特色是小和高速,设计之初就考虑了速度、可用性和与系统结合的稳定性;而且也不失灵活配置的特色。  优势:  一、体积小(安装文件仅仅1M多,占用空间6M左右)  二、启动快,原始界面相似windows(win95)  缺点:  一、界面单一,对于喜欢华丽界面的使用者来讲,没有必要使用(可是最近发布的几个版本已经大为改观了,配合xloadp_w_picpath、rox-filer等软件还能够美化到媲美Gnome桌面的水平)。  二、大部分应用程序必须依赖于Gnome或者是KDE桌面的库文件。 服务器

 

        再说说FVWM,并非任何人都会喜欢 FVWM。使用 FVWM 显然不像用 KDE,Gnome 的桌面那么简单,你须要本身对它进行配置。它是一个老牌的,长久不衰的窗口管理器,它永远以一个忠实的 Xwindow 窗口管理器的方式工做。使用 FVWM,你能够学到不少有关 Xwindow 的东西,你会很快的明白 Xwindow 的工做原理,见识到 Xwindow 的强大和灵活。若是你喜欢随意的控制本身窗口,让它们都乖乖听话,而不是总是跳出来挡在你面前。你喜欢随意定制本身窗口样式,喜欢快速高效的控制窗口,喜欢节省资源,…… 总之,你是一个挑剔的人。那么 FVWM 就是你最终的选择。 网络

 

        Enlightenment是一个功能强大的窗口管理器,它的目标是使用户垂手可得地配置所见即所得的桌面图形界面。如今Enlightenment的界面已经至关豪华,它拥有像AfterStep同样的可视化时钟以及其它浮华的界面效果,用户不只能够任意选择边框和动感的声音效果,最有吸引力的是因为它开放的设计思想,每个用户能够根据本身的爱好,任意地配置窗口的边框、菜单以及屏幕上其它各个部分,而不须要接触源代码,也不须要编译任何程序。

        Window Maker是一个计划为GNUStep应用软件提供额外综合支持的X11窗口管理器。它尽力模拟一流的NeXTSTEP图形用户界面,相对NeXTSTEP图形用户界面,Window Maker运行速度更快、拥有更多的功能以及易于配置和使用。 

        AfterStep是一个基于NEXT操做系统的NeXTSTEP而开发的窗口管理器,最初起源于由BoYang所创的BowMan窗口管理器,AfterStep开发者们由最初简单的模仿到力图改进、完善它的功能,决定改变BowMan的名称,因而AfterStep计划诞生了。AfterStep的界面和NEXTSTEP由不少类似之处,可是值得注意的是,AfterStep为了知足不一样的用户的须要,而作了大量的改进,NEXTSTEP的界面没有给人一种很是温馨的感受,因此AfterStep吸收了NEXTSTEP界面的优势,增长了不少有用的特征。 less

 

        mwm(Motif Window Manager)遵循OSF(Open Source Foundation,开放源代码基金会)制定的Motif窗口管理标准,因为Motif采用OS/2操做系统的程序管理器做为其模板,因此全部的窗口特性及快捷键都和OS/2和Windows彻底相同。(OS/2本是由IBM和Microsoft共同研制开发的,但Microsoft中途退出了合做,本身搞出了Windows,但Windows里的不少东西仍沿用了OS/2的思想)。Motif须要付费才能使用的,在许多商业Unix操做系统中已经提供了mwm。 

        Blackbox是一个用C++开发的新颖窗口管理器,它没有共享其它窗口管理器的任何代码,设置是图片处理技术的实现都是从新开发的。和其它窗口管理器相比,Blackbox最主要的特点是代码少,运行速度快,Blackbox全部的代码都是由 Brad Hughes (blackbox@alug.org) 和Jeff Raven (jraven@psu.edu)两我的开发和维护。因为其紧凑的结构、精练的代码使得Blackbox占有不多的系统资源。 ide

 

        Sawfish是一个基于Lisp脚本语言开发的可扩展窗口管理器,它并非构架在twm之上,整个采用了全新的体系结构。用户能够经过修改我的配置文件.sawfishrc中的Lisp代码,或者经过整合的用户定制系统来修改用户配置信息、更改组件和控制用户界面。工具

 

 

        

超轻量级窗口管理器: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

 

 

平铺式窗口管理器——Awesome

首先科普一下 Tiling window manager,直译就是“瓦片式窗口管理器”;意译为“平铺式窗口管理器”。

假设你须要同时监视多个程序的状态并进行操做(这种状况很是之广泛),你就须要不停的按Alt+Tab切换,可是这会加速Alt尤为是Tab的磨损(手的磨损忽略了,由于它是可再生的)。

聪明的人就会想出这一招,见图1:

awesome1-thumb.jpg

可是要先调整窗口布局,并且老是不太合适,有点缝隙啥的,分散注意力。

而在Tiling window manager 中,不管有多少个窗口,都会把屏幕占满,见图2:

awesome2-thumb.jpg

它的窗口没有标题栏(标题在状态栏上),边框尽量的窄(可再设置为0),以最大程度的节约桌面空间。

awesome还有超低的资源占用率。

彻底的键盘控制(在普通的窗口管理器中,彻底键盘控制是不现实的,由于调整窗口位置不管如何要用鼠标。而Tiling WM中则不须要调整窗口位置)

首先把修饰键设置为WIN键,这样不会和其它的快捷键冲突。附件里有配置文件,能够直接使用。

  • WIN+数字键 切换工做区
  • WIN+Space 切换窗口布局好比水平布局下,新开窗口与原窗口水平分割桌面。

     

    布局有下面几种:

    • 水平布局与垂直布局各两种,区别在于新开窗口的位置。它们是最经常使用的布局
    • 全屏布局。这个不实用,能够用WIN+m最大化/还原当前窗口
    • 螺旋布局。彷佛也不太实用,反正我不多用
    • 逐渐减少布局。和上面的那个差很少
    • 浮动布局。相似传统窗口管理器的布局
    对于不规则的窗口,像Gimp、mplayer等,不管在任何布局下窗口都是浮动的。能够在配置文件里设定哪些程序使用浮动窗口。调整浮动窗口的位置时,按下WIN键,用鼠标拖动就能够了。
  • WIN+ENTER 开启预设的终端
  • WIN+SHIFT+C 关闭当前窗口
  • WIN+SHIFT+数字键 把当前窗口发送到其它工做区
  • WIN+j WIN+k 切换到其它窗口
  • WIN+h WIN+l 调整当前窗口大小这一组快捷键是VI风格的。
  • WIN+F2 运行程序
默认的很差用,我安装了一个dmenu。这东东真不赖。

 

awesome3-thumb.jpg

看图 4 顶部的状态栏就是dmenu的菜单 根据你的输入动态的显示匹配选项 用方向键进行选项

awesome4-thumb.jpg

对于窗口管理器的选择,咱们须要考虑的无非如下几点:

  • 配置 简单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是高手、准高手、半高手、伪高手的最佳选择。

 

另:我花了很长时间,差很少把能找到的Tiling WM试遍了。把它们的特色/缺点汇报一下:

  • DWM 窗口布局较少,标题栏中文乱码(不过有中文补丁能够解决这个问题),使用鼠标操做窗口极易形成混乱
  • WMII 调整窗口大小要用鼠标,每一个窗口顶部有微型标题栏,标题栏乱码
上面两个WM和dmenu配合最完美。

 

如下是第一时间删除的,还有一些记不起名字了:

  • xmonad 要安装体积超大的Haskell
  • ION3 标题栏中文,风格不喜欢,窗口间有缝
  • larswm 同上

相关文章
相关标签/搜索