FVWM新手入门不完全手册 作者:asvaboy++ (linuxosboy@sina.com)

<一>Fvwm是什么?哪里可以下载?
Fvwm是一种窗口管理器,它可以方便的管理系统的资源。gnome和kde是桌面系统,这是两个不同的概念。桌面系统可以调用不同的窗口管理器,这就是为什么gnome系统可以有metacity和swafish两种不同的WM可以选择。

现在WM很多,但是Fvwm作为一种历史比较悠久的WM,其最大的优点就是:可完全定制,节省系统资源开销。而且它的界面也可以做得非常漂亮。

Fvwm的抓图地址:http://www.fvwm.org/screenshots/index.php

Fvwm下载地址在:http://www.fvwm.org/download/index.php 有gz,bz2两种文件。最好下载bz2文件,因为它压缩得比较大。(可以省点网费)

notice:

1. 安装的时候USE里面要加入stroke,这样可以增加FVWM鼠标指令功能。

可以在 http://www.etla.net/libstroke/ 得到 libstroke. 下载那个为 FVWM 准备的版本,编译后安装,然后再编译 FVWM,它一般就会找到 libstoke,从而加入 stroke 的功能。

2. 中文问题:在配置文件里面使用gtkrc.zh_CN文件里面的字体配置。我的是-adobe-helvetica-medium-r-normal–12-*-*-*-*-*-iso8859-1,-*-simsun-medium-r-normal–12-*-*-*-*-*-*-*,*-r-*
使用这样的字体同样可以使用shadow功能.
3. 配置文件可以参考下面几个网站:
http://liusd.spymac.net/linux/fvwm/
http://dev.gentoo.org/~taviso/fvwm2rc.html
以上是FVWM里面最经典的两个配置方案。包括目前最常用的新技术,例如透明及截图型最小化图标以及MAC类型的PANLE。
http://www.zensites.net/fvwm/guide
一个教程型网站。有关于高级技术的介绍。
http://www.fvwm.org

<二>编译和安装过程
所有的linux软件,以源代码安装的话,都要经历三个过程,configure,make ,make install

下面以fvwm-2.5.6.tar.bz2为例子的编译安装过程。

首先cp fvwm-2.5.6.tar.bz2 /usr/local

tar jxvf fvwm-2.5.6.tar.bz2 (在/usr/local目录下面生成了fvwm2.5.6目录)

然后cd fvwm-2.5.6 再就是./configure,make ,make install

安装成功后,在/usr/local/bin的目录下面生成了一些文件,有fvwm,xpmroot等

你可以切换到usr/local/bin目录下面,ls fvwm* 会出来相关的生成的fvwm的文件。好了,现在fvwm已经在你的系统中成功安装了,如果遇到什么问题,也可以看看在fvwm-2.5.6中的INSTALL文件。

<三>启动Fvwm
经常看到很多人问这个问题,在linuxsir,linuxeden以及linuxfans上都有人在问这样的问题,实际上,我第一次用fvwm的时候,也不知道怎么来启动它,不过有一次在安装windowmaker的时候,误打误撞的受到了启发。知道了以命令行的方式来启动fvwm。

首先设置你的系统启动方式是命令行:在/etc/inittab文件中,设置以命令行的方式来启动

id:3:initdefault,然后把/etc/X11/xinit/xinitrc这个文件备份,最好改成xinitrc.old,,然后在/root或者是/home/usrname/下面建立一个.xinitrc文件,在里面写入:exec fvwm保存,然后以startx的方式,就进入了fvwm 。

这种方式对我来说比较适用,因为我很少用gnome和kde,对于那些想在多种系统中切换的朋友,可能有些麻烦。因为你想进入gnome和kde的时候,还要重新把xinitrc.old改成xinitrc,然后要把根目录下面的.xinitrc文件改名。

<四>FVWM的配置文件
当你进入Fvwm后,你会发现它缺省的配置是很简陋的。在/usr/local/fvwm- 2.5.6/sample.fvwmrc目录下面有些配置文件,比如:system.fvwm2rc等,你可以把这些文件copy到 /root/.fvwm目录下面去(如果这个目录没有,你要自己建立一个),并改名为:.fvwm2rc,再进入fvwm,看是否发生了些什么变化,是不是变得稍微好看了点:)不过还是很简陋:(

fvwm正是因为它可以完全被定制,所以它的缺省的配置就很简单,一切都可以按照你自己的意思来办,它可以模拟任何的系统,这就是它最大的优点。

和aftstep,windowmaker相比,它们都有固定模式,而且缺省的配置界面已经很漂亮了,改动也比较困难。即使是换了不同的主题,也是换汤不换药。Afterstep一启动就要启动wharf,windowmaker一看,你就知道它是 windowmaker,但是fvwm模拟的系统,让你总有一种新鲜的感觉。不过关于界面美观的问题,是仁者见仁,智者见智。其实我们用wm的目的是用来管理我们的系统,让我们能更好的学习和工作。一味的追求界面的美观,是没有必要的。

不过正是因为fvwm可以完全被定制,也给它的配置带来了很多困难。它需要你自己来配置,这对新手来说是很困难的,不过好在有些高手已经给我们配置了。

下面这个配置文件是一位高手配置的,下载地址在:

http://learn.tsinghua.edu.cn/homepage/2001315450/src/.fvwm2rc

<五>Fvwm的配置初步分析
只要一个.fvwm2rc文件,fvwm就可以现实出非常漂亮的界面,一切按照你自己的意思来现实,这对个人来说是比较适用了,也比较人性的。下面我将详细的分析一下我自己的一份.fvwm2rc文件。

对Fvwm的.fvwm2rc来说,最重要的几个设置是:

icons----定义系统要用到的图标,这个很重要(在www.kde-look.org中可以下载一些icon)

Menu-----系统的菜单,让你把一些常用的软件和工具直接在Menu启动,是不是很方便:)

FvwmButtons----以图标的形式来装饰系统,也可以把一些dockapp欠入其中,同时也

可以在你按下mouse的时候启动相应的程序

FvwmPager----用来设置desk和pager,让你方便的在不同的虚拟桌面之间切换。

FvwmTaskBar-----任务条,和window一样的任务条

FvwmWharf-------这个和Afterstep的wharf一样的,正因为有这个,

fvwm模拟afterstep就非常的容易了:)

<六>Fvwm的相关资源
说了这么多,也许你有点疲惫了,看看我的一些Fvwm的主题吧,在linuxsir上我发过一些抓图

作者未给出图片 
<七>Fvwm的详细配置
(以我自己配置的.fvwm2rc为例子)。注意:以“#”开头的为注释部分,*开头的一般为Fvwm的模块的相关的设置。

1.icons设置
(定义了系统需要的一些icons的连接地址)

  ImagePath +:/root/pic
  ImagePath +:/usr/local/AquaFusion/22×22/devices
  ImagePath +:/usr/local/AquaFusion/22×22/apps
  ImagePath +:/usr/local/AquaFusion/22×22/filesystems
  ImagePath +:/usr/local/AquaFusion/22×22/actions
如果你自己设置的时候,这些地址要存在才行。

2.Menu的配置
首先是MenuStyle

  MenuStyle * Foreground white, Background gray40
  Menustyle * fvwm, Font -adobe-times-bold-r-*-*-14-*-*-*-*-*-*-*
  MenuStyle * HilightBackOff, Hilight3DThickness -3, ActiveForeOff, PopupOffset -3 100
  MenuStyle * ItemFormat “%s%10p%|%i%12p%l%|%6p%>%10p%s”
  MenuStyle * ActiveFore #49C671
  MenuStyle * MenuFace VGradient 64 darkgray MidnightBlue
  MenuStyle * MenuFace TiledPixmap /root/pic/macblack.png
  ButtonStyle All — UseTitleStyle
  ButtonStyle All ActiveDown VGradient 8 palevioletred black
其中分别是定义了menu的颜色方案,具体的通过文字,也可以知道它的意思了,

MenuStyle * MenuFace TiledPixmap /root/pic/macblack.png对于这句设置是:以一张png的图片作为Menu的背景,让Menu看起来很有质感,甚至可以达到透明的效果。是不是很cool??这里是我的设置,你可以选择一张你自己喜欢的png或者是xpm图片作为Menu的背景。

上面是定义了MenuStyle,下面将给出菜单的详细内容:

  ######################## Menus ###################
  DestroyMenu RootMenu
  AddToMenu RootMenu “Root Menu” Title
  + “&aterm%kcontrol.png%” Exec exec aterm
  + “&gnome-terminal%gnome-apps.png%” Exec exec gnome-terminal
  + “konsole%xconsole.png%” Exec exec konsole
  + “” Nop
  + “&Programs%hancom.png%” Popup ProgramsMenu
  + “&Utilities%kdmconfig.png%” Popup Utilities
  + “” Nop
  + “Re&fresh Screen%kbabeldict.png%” Refresh
  + “” Nop
  + “&Lock%lock.png%” Exec exec xscreensaver-command -lock
  + “ExitFvwm%terminal.png%” Popup Quit-Verify
  DestroyMenu ProgramsMenu
  AddToMenu “ProgramsMenu” “Choose-Pro%view_icon.png%” Title
  + “gedit%editshred.png%” Exec exec gedit
  + “emacs%emacs.png” Exec exec emacs
  + “&gqview%xpaint.png” Exec exec gqview
  + “&xpdf%xchat.png%” Exec exec xpdf
  + “x&mms%xmms.png%” Exec exec xmms
  + “stardict%kdat.png%” Exec exec stardict
  + “mo&zilla%netscape.png%” Exec exec mozilla
  + “&Gimp%gimp.png%” Exec exec gimp
  + “xload%xsane.png%” Exec exec xload
  + “gkrellm%gnomemeeting.png%” Exec exec gkrellm
  DestroyMenu Utilities
  AddToMenu Utilities “Utilities%scanner.png%” Title
  + “Top%folder_mediumgreen.png%” Exec exec xterm -T Top -n Top -e top
  + “xcalc%xcalc.png%” Exec exec xcalc
  + “Xman%folder_burntorange.png%” Exec exec xman
  + “xclipboard%classic_mac.png%” Exec exec xclipboard &
  + “konqueror%go.png%” Exec exec konqueror
  + “” Nop
  + “wmtimer%babelfish.png%” Exec exec wmtimer &
  + “kcontrol%kopete.png%” Exec exec kcontrol
  + “xlogo%x.png%” Exec exec xlogo
  + “Captura%kcmkwm.png%” Exec captura
  + “FvwmCommand%xterm.png%” Module FvwmConsole -terminal aterm -geometry 45×5-0+0 /
  -bg gold2 -fg midnightblue /
  -fn “-adobe-courier-medium-r-*-*-14-*-*-*-*-*-*-*”

  DestroyMenu Quit-Verify
  AddToMenu Quit-Verify “Choose%xconsole.png%” Title
  + “Yes, Really Quit%xchat.png%” Quit
  + “Restart Fvwm2%kstars.png%” Restart fvwm2
  + “No, Don’t Quit%hancom.png%” Nop
其中+ “&aterm%kcontrol.png%” Exec exec aterm,前面为aterm,后面的png图片kcontrol.png将在菜单中出现在文字的前面。后面的Exec exec将执行aterm这个命令。依次类推,后边都是如此。

  + “FvwmCommand%xterm.png%” Module FvwmConsole -terminal aterm -geometry 45×15-0+0 /
  -bg black -fg white /
  -fn “-adobe-courier-medium-r-*-*-14-*-*-*-*-*-*-*”
启动了一个FvwmCommand,FvwmCommand是不能在xterm中启动,它只能通过菜单,或者是Modules来启动。

这里定义了一个FvwmCommand,它的背景颜色是黑色(black)字体颜色是白色。字体为:-adobe- courier-medium-r-*-*-14-*-*-*-*-*-*-*,大小是45×15,位置是-0+0,屏幕的右上角,你在上面的那张图中可以看到它的效果。当然你可以改变这个坐标的位置,让它出现在你希望出现的地方。

FvwmCommand能很好的和Fvwm通讯,在其中输入Fvwm的相关模块能直接执行。比如在 FvwmCommand中输入:FvwmTaskBar,它就能直接调出Fvwm的任务条,当你的配置文件出了问题,或者无法调出相关的模块的时候,你可以开启一个FvwmCommand来,直接调出相关的模块。这样是不是很方便:)。菜单的定义就是这样的,其实很简单,看看我的菜单的效果吧:

3.FvwmButtons的设置
你看到的上图中,在屏幕最底部有一排图标,就是FvwmButtons的现实效果,怎么样,漂亮吗??其中还有2个 dockapp,分别用来显示cpu和内存的使用情况。(这两个程序是wmcpuload和wmmemload。下载地址在:http: //dockapps.org。详细配置文件如下:

  ################## FvwmButtons ##############################
  #########################################################
  # Colors,设置FvwmButtons的颜色
  *FvwmButtonsFore white
  *FvwmButtonsBack white
  #用一张xpm图片作为FvwmButtons的背景,用些你喜欢的图片实现很玄的效果:)
  *FvwmButtonsPixmap /root/pic/icons/macblack_small.xpm
  # Font 设置字体的大小
  *FvwmButtonsFont 5×8
  #设置FvwmButtons的出现在屏幕的位置,+250-0的坐标刚好在屏幕的底部中间位置。
  *FvwmButtonsGeometry +250-0
  *FvwmButtonsColumns 7  #设置FvwmButtons为七列,一行
  *FvwmButtonsRows 1    
  *FvwmButtons(Title Nautilus, Icon evolution.png, Action ‘Exec nautilus &’)
  *FvwmButtons(Swallow “wmcpuload”  “Exec wmcpuload -w &”)
  *FvwmButtons(Title xmms, Icon noatun.png, Action ‘Exec xmms &’)
  *FvwmButtons(Title gqview, Icon fish.png, Action ‘Exec gqview &’)
  #*FvwmButtons(Title kmail, Icon arson.png, Action ‘Exec kmail &’)
  *FvwmButtons(Swallow “wmmemload”  “Exec wmmemload -w &”)
  *FvwmButtons(Title Terminal, Icon log.png, Action ‘Exec gnome-terminal &’)
上面各项中,分别为Title的名字,然后就是相应的图标,然后就是Action,当你用鼠标点击它的时候,执行相应的操作。

小结:FvwmButtons这个模块的功能非常的强大,你可以在其中欠入FvwmPager或者是FvwmWinList等,具体的可以参考Fvwm的man手册。

4.FvwmPager的设置
通过这个模块,可以实现虚拟桌面的切换,您看到的上图中,屏幕的左上角,就是一个Pager,具体设置如下:

  ########################### Pager #########################################
  *FvwmPager: Rows 1
  *FvwmPager: Columns 1  #设置它为一行和一列,当然你可以设置成其它的数字。
  *FvwmPagerFore white   #聚焦的时候为白色
  #用一张png图片作为FvwmPager的背景,可以实现很漂亮的效果。
  *FvwmPagerPixmap /root/pic/macblack.png
  #定义FvwmPager出现在屏幕的位置 
  *FvwmPagerGeometry +5+5
  *FvwmPagerBack #909090  #它的背景颜色,其实设置了pixmap后,这项已经不重要了
  *FvwmPager:Font -*-fixed-medium-r-semicondensed-*-13-*-gb2312.1980-0
  *FvwmPagerHilight #808080
  *FvwmPagerLabel 0 MyFvwm  显示pager的名字
  #*FvwmPagerLabel 1 MyFvwm
  #*FvwmPagerLabel 2 Program
  #*FvwmPagerLabel 3 Myfavorite
  *FvwmPager:SmallFont -*-fixed-medium-r-semicondensed-*-13-*-gb2312.1980-0
  *FvwmPagerBalloons All
  *FvwmPagerBalloonBack white
  *FvwmPagerBalloonFore black
  *FvwmPager:BalloonFont -*-fixed-medium-r-semicondensed-*-13-*-gb2312.1980-0
  *FvwmPagerBalloonBorderWidth 0
  *FvwmPagerBalloonBorderColor white
FvwmPager还可以欠入在FvwmButtons中来显示,具体可以参考man手册。

5.FvwmTaskBar
这个模块,我用得不是很好,配置出来的任务条象win2000的,所以我不大喜欢,不过有些人用了些特殊的程序,象perl,实现了很漂亮的FvwmTaskBar,可以看看下面的抓图:http: //www.fvwm.org/screenshots/Mikhael-desk-1280×1024.php

相关的配置文件如下:

  Style FvwmTaskBar HandleWidth 0, BorderWidth 0
  *FvwmTaskBar: UseSkipList
  *FvwmTaskBar: AutoStick
  *FvwmTaskBar: DeskOnly
  #*FvwmTaskBar: Action Click1 DeiconifyRaiseAndFocus
  *FvwmTaskBar: Action Click2 Iconify On
  *FvwmTaskBar: Action Click3 Lower
  #*FvwmTaskBar: Action Click3 FvwmIdent
  *FvwmTaskBar: MailCommand Exec exec rxvt -e mutt
  *FvwmTaskBar: 3DFvwm
  *FvwmTaskBar: StartName FVWM
  *FvwmTaskBar: StartMenu RootMenu
  *FvwmTaskBar: Font -*-simsun-medium-r-*-*-14-*-*-*-*-*-*-*
  #*FvwmTaskBar: Font “xft:Luxi Mono”
  *FvwmTaskBar: SelFont -*-simsun-medium-r-*-*-14-*-*-*-*-*-*-*
  *FvwmTaskBar: ShowTips
  *FvwmTaskBar: ClockFormat
  *FvwmTaskBar: WindowButtonsRightMargin 20
  *FvwmTaskBar: Back seagreen
  *FvwmTaskBar: Fore gold2
  *FvwmTaskBar: FocusFore cornsilk
  *FvwmTaskBar: IconBack darkgreen
  *FvwmTaskBar: IconFore white
  #*FvwmTaskBar: Button Title hello, Icon mini.x.xpm, Action (Mouse 1) Module FvwmConsole
  #*FvwmTaskBar: DateFormat “%A, %B %d, %Y”
  #*FvwmTaskBar: WindowButtonsLeftMargin 20
  #*FvwmTaskBar: HighlightFocus
  #*FvwmTaskBar: AutoHide 6
 

6.关于FvwmWharf
这个模块挺不错的,可以实现很复杂的功能,象一个抽屉似的。把一些图标藏在其中。具体配置文件如下:

  Style “FvwmWharf” NoTitle,NoHandles, Sticky, WindowListSkip,BorderWidth 0,CirculateSkip
  DestroyModuleConfig FvwmWharf: *
  *FvwmWharf: Animate
  *FvwmWharf: AnimateMain
  *FvwmWharf: Geometry -7-316
  *FvwmWharf: Columns 1
  *FvwmWharf: Bgcolor Grey70
  *WharfBalloonFore Black
  *WharfBalloonBack Grey70
  #*FvwmWharf: Bgcolor #000000
  *FvwmWharf: Colorset #000000
  *FvwmWharf: FullPush
  *FvwmPagerFore:Black
  *FvwmWharf: TextureType 128
  #用一张xpm图片作为它的背景,这个可以实现很好的视觉效果。
  *FvwmWharfPixmap /root/pic/icons/s11.xpm
  *FvwmWharf asclock nil MaxSwallow “asclock” asclock &
  *FvwmWharf wmitime nil MaxSwallow “wmitime” wmitime &
  *FvwmWharf bubblemon nil MaxSwallow “bubblemon” bubblemon &
  *FvwmWharf wmusic nil MaxSwallow “wmusic” wmusic -w
  *FvwmWharf a          kmenu.png Folder
  *FvwmWharf Exit       xchat.png FvwmForm FvwmForm-QuitVerify
  *FvwmWharf Recycler   software_update.png Restart
  *FvwmWharf lock       Classic.png Exec exec xscreensaver-command -lock
  *FvwmWharf ~Folder
  *FvwmWharf b qtella.png, Folder
  *FvwmWharf aterm           gaim2.png Exec exec aterm &
  *FvwmWharf konqueror       go.png Exec exec konqueror &
  *FvwmWharf gedit           emacs.png Exec exec gedit &
  *FvwmWharf xmms            xmms.png Exec exec xmms &
  *FvwmWharf gnome-terminal  gnome-apps.png Exec exec gnome-terminal &
  *FvwmWharf ~Folder
  *FvwmWharf wmnotify nil MaxSwallow “wmnotify” wmnotify &
上面用到的一些png和xpm文件,它们的路径您必需在icons的path中设置好,否则会无法显示。

<八>Fvwm的相关FAQ
1.启动相应的模块
所有的Fvwm的模块,只有在函数中启动了它们,它们才能够工作,在.fvwm2rc文件中,如果您需要用到FvwmButtons,或者其它的模块,必需要先启动它。具体如下:

  DestroyFunc StartFunction
  AddToFunc StartFunction
  + I Module FvwmButtons
  + I Module FvwmPager
  + I Module FvwmAuto 500 Raise Nop
  + I Module FvwmAnimate
  + I Module FvwmTaskBar
  + I Module FvwmWharf
  + I Exec exec xpmroot /root/pic/macblack.png
I表示:立即执行,上面的配置中,分别在启动函数中,启动了FvwmButtons,FvwmPager, FvwmAnimate,FvwmTaskBar和FvwmWharf等,五个模块。同时,你有什么程序需要在fvwm启动的时候执行,你可以在其中加入一行:比如我想在fvwm启动的时候启动gkrellm

  + I Exec exec gkrellm  就ok了:)
2.给桌面设置背景
缺省的fvwm是没有设置桌面背景的,最多是些颜色的设置,其实fvwm可以用清晰度很高的png或者是xpm图片作为背景。最直接的一种方法是:用xpmroot程序,它是fvwm自带

开启一个xterm,在其中输入:xpmroot filename.png 马上就能把该图片设置成桌面的背景,也可以在启动函数中加入:

  + I Exec exec xpmroot /root/pic/macblack.png
<九>fvwm-themes的下载
fvwm-themes是一个fvwm的主题的软件,它需要另外的下载,而且要编译,安装。具体设置如下:

1.下载
fvwm-themes的下载地址
http://sourceforge.net/projects/fvwm-themes

你需要下载两个文件,分别是:

fvwm-themes-0.6.2.tar.bz2,fvwm-themes-extra-0.6.2.tar.bz2

2.编译安装
  cp fvwm-themes0.6.2.bz2  /usr/local
  tar  jxvf fvwm-themes-0.6.2.bz2
  ./configure,make ,make install
这时,你可以切换到/usr/local/share/fvwm/themes目录下面去,可以发现,已经出现了几个目录,不错,它们就是fvwm的主题。

接下来安装extra的主题。找到 fvwm-themes-extra-0.6.2.tar.bz2 的存放目录,然后

  fvwm-themes-config –site –install fvwm-themes-extra-0.6.2.tar.bz2
系统会自动帮你安装这些扩展的主题到/usr/local/share/fvwm/themes目录下面去。

3.启动fvwm-themes
启动方式和启动fvwm的方式是一样的,把/etc/X11/xinit/xinitrc 改名为:xinitrc.old

然后在根目录下面建立一个.xinitrc 文件,在其中写入:fvwm-themes-start 就ok了

在命令行下面输入:startx,就启动了fvwm-themes。它提供了不少的主题,你也可以自己制作自己喜欢的主题:)