个人工具

UbuntuHelp:FVWM/zh

来自Ubuntu中文

Qiii2006讨论 | 贡献2010年8月15日 (日) 13:52的版本 集成

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航, 搜索


FVWM是一种高度可配置的窗口管理器,我们甚至可说它是“病态”的可配置。它也是可扩展的,轻量级的,快速的窗口管理器。它不适合非技术人士,只适合于那些知道他们想要什么并希望能自由的实现的那些人。它可以是很丑陋但功能强大,或者是充满了很多奇特的装饰,只要你喜欢。唯一的限制是你的想像力和技巧。有一些第三方项目提供了自动化的配置和主题(fvwm-themes和fvwm-crystal)。FVWM也提供一些配置文件产生器,它给你提供了一些特定的选项。如果你希望创建你自己的配置文件,你可以使用这些工具和别人的配置做为一个起点。 (further explanation).

安装

从 Apt

FVWM可以很容易的被安装到Ubuntu上,因为在软件仓库里有fvwm软件包。还有一些为那些想要马上能工作的人提供的附加软件包,它们包含了一些可用的FVWM配置文件。

从源码包安装

FVWM是一个活跃的项目。Bug修正和新功能的升级十分频繁。目前,FVWM维护着两个版本分支:稳定版本(2.4.X)和不稳定版本(2.5.X)。不稳定分支最终会形成稳定版本。(2.6.X将会是下一个稳定版本分支,而2.7.X则是下一个非稳定版本)。FVWM的稳定分支已经很老了,目前,很多作为窗口管理器被期望的并已经完成的功能只有非稳定版本才有。“不稳定”并不意味着它将每五分钟崩溃一次,它只是表明了这个分支是被用于开发和改进的。除非有很好的理由不用它(未必有),2.5.X应该是我们使用的版本,因为很多人用它制作自己的配置,他们通常都不会考虑FVWM 2.4.X。需要预先安装的软件包有:build-essential,xorg-dev,fakeroot (用来制作 .deb包),debhelper (也是用于制作 .deb包). 一些几乎每个人都想要用的软件包有:libpng-dev (让 .png 格式的图片能用于图标) 和 libreadline-dev (它使 FvwmConsole 更好用). 下载tar包,像平常一样解压和configure. 不要简单的就使用make,用make deb-inplace来制作 .deb包, 然后用dpkg 安装.

集成


如果你使用apt安装,那FVWM就会直接出现在GDM的会话列表里面。如果你自己编译源码,那还需要设置“默认会话”。同时你还需要编写一个.xsession文件。在这个文件中需要简单的添加几行包含"fvwm"相关内容的语句。其实,简单而言,.xsession文件就是一个shell脚本,当你使用GDM登录时,这个脚本将被执行。如果你希望有些程序系统启动时先于FVWM启动,那请在.xsession文件中将相应语句添加在包含"fvwm"的语句之前。生成一个.xinitrc链接指向.xsession文件是一个明智之举,这样从控制台登录系统也可以启动fvwm。你的~/.xsession文件看起来应该和下面的示例相象: 

#!/bin/sh

# Various other commands here, ensuring that they're backgrounded where necessary
# i.e.:
#
# foo &

# Start FVWM
exec fvwm

使用下面的指令建立符号链接,将上面所示的.xsession文件链接到~/.xinitrc

ln -s ~/.xsession ~/.xinitrc

在Debian的菜单系统中,你可以拥有一个包含了大部分已经安装的应用程序的菜单。使用以下指令安装菜单

sudo apt-get install menu

然後,


添加以下内容到~/.fvwm/config

Read /etc/X11/fvwm/menudefs.hook

现在你可以进入包含了安装的应用程序的菜单中,自动分类和更新。你可以通过以下FVWM指令进入这个菜单

Menu /Debian

or

Popup /Debian

其它

有报道说FVWM在Xgl下不能很好的运行。如果用户抱怨足够多或是有人提交了补丁的话,这个问题将被修正。FVWM和xcompmgr及其扩展能很好的一起运行。如果你用xcompmgr:不要给图标标题:

Style * !IconTitle

当启动或停止xcompmgr时,需要重新启动FVWM。

# xcompmgr is finally pretty stable, but occasionally it gets screwy or dies
# FVWM must be restarted after xcompmgr, otherwise edges don't work
DestroyFunc RestartXCompMgr
AddToFunc RestartXCompMgr
+ I PipeRead 'killall xcompmgr && exec xcompmgr -n & ; echo Restart'

扩展链接