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
*FvwmButtonsTitle Nautilus, Icon evolution.png, Action ‘Exec nautilus &’)
*FvwmButtonsSwallow “wmcpuload” “Exec wmcpuload -w &”)
*FvwmButtonsTitle xmms, Icon noatun.png, Action ‘Exec xmms &’)
*FvwmButtonsTitle gqview, Icon fish.png, Action ‘Exec gqview &’)
#*FvwmButtonsTitle kmail, Icon arson.png, Action ‘Exec kmail &’)
*FvwmButtonsSwallow “wmmemload” “Exec wmmemload -w &”)
*FvwmButtonsTitle 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。它提供了不少的主题,你也可以自己制作自己喜欢的主题:)