X视窗管理器是X窗口系统中,用来控管视窗外观和放置方式的视窗系统软件,主要用于类Unix系统。
X视窗管理器和苹果公司的Macintosh和微软公司的Windows的操作环境具有不同的使用模式。后两者都有长期固定的用户界面和操作模式,而这些都是由开发商决定的,用户无法更换或者只能作微小调整。
简介X视窗管理器提供完全开放的,和图像显示软件无关的用户界面。用户可以自由选用窗口管理器。这些管理器可以拥有完全不同的特性,包括:
外观和功能的可配置性
用于启动程序或者进行设置的菜单
启动程序的方式,可能是命令行式的,也可能是图形化的,比如停靠栏。
多桌面、虚拟桌面(比显示器尺寸要大的桌面)和用于切换桌面的桌面切换器(pager)。
内存和系统资源的消耗
和桌面环境的集成程度。部分X窗口管理器提供更加完整的用户界面、系统软件和应用程序。1
X视窗管理器的运作原理当视窗管理器开始运作时,X服务器和客户端之间的交互,会重定向到视窗管理器。每当要显示一个新视窗时,这个请求便会被重定向到视窗管理器,它会决定视窗的初始位置。此外,大部分较新的视窗管理器会改变视窗的亲属关系,通常会在视窗顶部加上标题栏,并在视窗周围加上装饰性的框架。这两个部分皆由视窗管理器来控制,而不是其它程序。因此,当用户点击或拖曳那些组件时,视窗管理器会进行适当的动作(如移动或改变视窗的大小)。
视窗管理器也负责处理图标,图标并不存在于X Window核心协议的层次中。当用户将视窗最小化时,视窗管理器会取消视窗的映射(使其不可见),并完成适当的动作,将视窗改显示成图标。某些视窗管理器并不支持图标功能。
视窗管理器主要的目标,就如同其名,是用来管理视窗的。许多视窗管理器提供附加的功能,如处理鼠标在根视窗上的点击,呈现出窗格以及其它的可视化组件,处理按键(例如 Alt-F4 可关闭视窗),判定哪一个应用程序在启动时运行等等。
特殊的视窗管理器几种特殊的视窗管理器如下。
虚拟视窗管理器虚拟视窗管理器使用了虚拟的显示屏画面,其分辨率可大于显示器的分辨率。当希望有较多的视窗时,这个功能也很有用。虚拟视窗管理器包括有FVWM、Tvtwm、HaZe等等。
平铺式视窗管理器平铺式视窗管理器是以不重叠画面的方式组织显示屏画面(故称为平铺式),相对于传统的方式,它更近似于以坐标为基础的叠置对象(视窗),其尝试模仿办公桌的式样。
第一个平铺式视窗管理器是larswm,随后是Ion。以下是平铺式视窗管理器的列表:
Awesome
dwm
i3
Ion
larswm
Musca
Ratpoison
Stumpwm
wmii
Xmonad
主流X视窗管理器Blackbox(minimalist)
Enlightenment
Fluxbox(轻量级,基于Blackbox)
FVWM(twm基础上开发的的虚拟窗口管理器)
IceWM
KWin(原名 KWM,KDE默认的窗口管理器)
Metacity(GNOME2.2后成为默认的窗口管理器)
Mutter
MWM (MotifWindow Manager)
Openbox(LXDE默认的窗口管理器,基于Blackbox)
Sawfish(原名 Sawmill,前GNOME系统默认窗口管理器)
twm(X Window系统X11R4以来的默认窗口管理器)
Xfwm, (Xfce默认的窗口管理器)
其它X视窗管理器4Dwm
5Dwm(derived from mwm, true SGI look&feel)
9wm(复制九号项目原先的视窗系统)
aewm
AfterStep
amiwmAmiga workbench unix clone.
Awesome
Compiz(a compositing window manager) andBeryl (window manager)an under development fork of it
CTWM
cwm
dwm
EvilPoison(a fork of evilwm with Ratpoison-like keybindings)
evilwm
Flwm
FVWM95
hackedbox
HaZe
i3
Ion(平铺式窗口管理器,为键盘用户设计)
JWM(Joe's Window Manager)
Kahakai
larswm
Luminocity(experimentation in compositing)
LWM
Matchbox
Musca
OLWM(andOLVWMwith virtual desktops,OPEN LOOKwindow managers)
Oroborus
PekWM
PLWM
PWM
Qvwm(Windows 95/98 look-alike)(list of forks)
Ratpoison
Scwm(the Scheme constraints window manager)
Stumpwm
Orion A nested (tiled or floating) window manager written in Scheme and scsh
swm(the original virtual desktop implementation)
Toy'd(a portable window manager for MS-Windows & UNIX / Linux platforms)
TrsWM
uwm
Waimea
WindowLab
Window Maker
wm2
WMI
wmii
XPwm(forXPde,Windows XP Look alike)
Xmonad(平铺窗口管理器)
XWEM
本词条内容贡献者为:
王沛 - 副教授、副研究员 - 中国科学院工程热物理研究所