2004年06月30日

http://www.asstr.org/~Kristen/


·vi 的工作模式
·编辑模式
·插入模式
·命令模式
·shell 切换
·选项设置
·vim 和 gvim 的高级特色
1.1 vi 的工作模式
Vi 在初始启动后首先进入编辑模式,这时用户可以利用一些预先定义的按键来移动光标、删除文字、复制或粘贴文字等。这些按键均是普通的字符,例如 l 是向右移动光标,相当于向右箭头键,k 是向下移动光标,相当于向下箭头键。在编辑模式下,用户还可以利用一些特殊按键选定文字,然后再进行删除、或复制等操作。
当用户在编辑模式下键入 i, a, o 等命令之后,可进入插入模式;键入 : 可进入命名模式。在插入模式下,用户随后输入的,除 Esc 之外的任何字符均将被看成是插入到编辑缓冲区中的字符。按 Esc 之后,从插入模式切换到编辑模式。
在命令模式,Vi 将把光标挪到屏幕的最下方,并在第一个字符的位置显示一个 :(冒号)。这时,用户就可以键入一些命令。这些命令可用来保存文件、读取文件内容、执行 Shell 命令、设置 Vi 参数、以正则表达式的方式查找字符串或替换字符串等。
1.2 编辑模式
1. 移动光标
要对正文内容进行修改,首先必须把光标移动到指定位置。移动光标的最简单的方式是按键盘的上、下、左、右箭头键。除了这种最原始的方法之外,用户还可以利用 vi 提供的众多字符组合键,在正文中移动光标,迅速到达指定的行或列,实现定位。例如:
k、j、h、l 功能分别等同于上、下、左、右箭头键
Ctrl+b 在文件中向上移动一页(相当于 PageUp 键)
Ctrl+f 在文件中向下移动一页(相当于 PageDown 键)
H 将光标移到屏幕的最上行(Highest)
nH 将光标移到屏幕的第 n 行
2H 将光标移到屏幕的第 2 行
M 将光标移到屏幕的中间(Middle)
L 将光标移到屏幕的最下行(Lowest)
nL 将光标移到屏幕的倒数第 n 行
3L 将光标移到屏幕的倒数第 3 行
w 在指定行内右移光标,到下一个字的开头
e 在指定行内右移光标,到一个字的末尾
b 在指定行内左移光标,到前一个字的开头
0 数字0,左移光标,到本行的开头
$ 右移光标,到本行的末尾
^ 移动光标,到本行的第一个非空字符
2. 替换和删除
将光标定位于文件内指定位置后,可以用其他字符来替换光标所指向的字符,或从当前光标位置删除一个或多个字符。例如:
rc 用 c 替换光标所指向的当前字符
nrc 用 c 替换光标所指向的前 n 个字符
5rc 用 c 替换光标所指向的前 5 个字符
x 删除光标所指向的当前字符
nx 删除光标所指向的前 n 个字符
3x 删除光标所指向的前 3 个字符
dw 删除光标右侧的字
ndw 删除光标右侧的 n 个字
3dw 删除光标右侧的 3 个字
db 删除光标左侧的字
ndb 删除光标左侧的 n 个字
5db 删除光标左侧的 5 个字
dd 删除光标所在行,并去除空隙
ndd 删除 n 行内容,并去除空隙
3dd 删除 3 行内容,并去除空隙
3. 粘贴和复制
从正文中删除的内容(如字符、字或行)并没有真正丢失,而是被剪切并复制到了一个内存缓冲区中。用户可将其粘贴到正文中的指定位置。完成这一操作的命令是:
p 小写字母 p,将缓冲区的内容粘贴到光标的后面
P 大写字母 P,将缓冲区的内容粘贴到光标的前面
如果缓冲区的内容是字符或字,直接粘贴在光标的前面或后面;如果缓冲区的内容为整行正文,则粘贴在当前光标所在行的上一行或下一行。
注意上述两个命令中字母的大小写。vi 编辑器经常以一对大、小写字母(如 p 和 P)来提供一对相似的功能。通常,小写命令在光标的后面进行操作,大写命令在光标的前面进行操作。
有时需要复制一段正文到新位置,同时保留原有位置的内容。这种情况下,首先应当把指定内容复制(而不是剪切)到内存缓冲区。完成这一操作的命令是:
yy 复制当前行到内存缓冲区
nyy 复制 n 行内容到内存缓冲区
5yy 复制 5 行内容到内存缓冲区
4. 搜索字符串
和许多先进的编辑器一样,vi 提供了强大的字符串搜索功能。要查找文件中指定字或短语出现的位置,可以用 vi 直接进行搜索,而不必以手工方式进行。搜索方法是:键入字符 / ,后面跟以要搜索的字符串,然后按回车键。编辑程序执行正向搜索(即朝文件末尾方向),并在找到指定字符串后,将光标停到该字符串的开头;键入 n 命令可以继续执行搜索,找出这一字符串下次出现的位置。用字符 ? 取代 / ,可以实现反向搜索(朝文件开头方向)。例如:
/str1 正向搜索字符串 str1
n 继续搜索,找出 str1 字符串下次出现的位置
?str2 反向搜索字符串 str2
无论搜索方向如何,当到达文件末尾或开头时,搜索工作会循环到文件的另一端并继续执行。
5. 撤销和重复
在编辑文档的过程中,为消除某个错误的编辑命令造成的后果,可以用撤消命令。另外,如果用户希望在新的光标位置重复前面执行过的编辑命令,可用重复命令。
u 撤消前一条命令的结果
. 重复最后一条修改正文的命令
6. 文本选中
vi 可进入到一种成为 Visual 的模式,在该模式下,用户可以用光标移动命令可视地选择文本,然后再执行其他编辑操作,例如删除、复制等。 v 字符选中命令 V 行选中命令

#DEMO#
1.3 插入模式
1. 进入插入模式
在编辑模式下正确定位光标之后,可用以下命令切换到插入模式:
i 在光标左侧输入正文
a 在光标右侧输入正文
o 在光标所在行的下一行增添新行
O 在光标所在行的上一行增添新行
I 在光标所在行的开头输入正文
A 在光标所在行的末尾输入正文
上面介绍了几种切换到插入模式的简单方法。另外还有一些命令,它们允许在进入插入模式之前首先删去一段正文,从而实现正文的替换。这些命令包括:
s 用输入的正文替换光标所指向的字符
ns 用输入的正文替换光标右侧 n 个字符
cw 用输入的正文替换光标右侧的字
ncw 用输入的正文替换光标右侧的 n 个字
cb 用输入的正文替换光标左侧的字
ncb 用输入的正文替换光标左侧的 n 个字
cd 用输入的正文替换光标的所在行
ncd 用输入的正文替换光标下面的 n 行
c$ 用输入的正文替换从光标开始到本行末尾的所有字符
c0 用输入的正文替换从本行开头到光标的所有字符
2. 退出插入模式
退出插入模式的方法是,按 ESC 键或组合键Ctrl+[ 。
#DEMO#
1.4 命令模式
在 vi 的命令模式下,可以使用复杂的命令。在编辑模式下键入“:”,光标就跳到屏幕最后一行,并在那里显示冒号,此时已进入命令模式。命令模式又称“末行模式”,用户输入的内容均显示在屏幕的最后一行,按回车键,vi 执行命令。
1. 退出命令
在编辑模式下可以用 ZZ 命令退出 vi 编辑程序,该命令保存对正文所作的修改,覆盖原始文件。如果只需要
退出编辑程序,而不打算保存编辑的内容,可用下面的命令:
: q 在未作修改的情况下退出
: q! 放弃所有修改,退出编辑程序
2. 行号与文件
编辑中的每一行正文都有自己的行号,用下列命令可以移动光标到指定行:
: n 将光标移到第 n 行命令模式下,可以规定命令操作的行号范围。数值用来指定绝对行号;字符“.”表示光标所在行的行号;字符
符“$”表示正文最后一行的行号;简单的表达式,例如“.+5”表示当前行往下的第 5 行。例如:
:345 将光标移到第 345 行
:345w file 将第 345 行写入 file 文件
:3,5w file 将第 3 行至第 5 行写入 file 文件
:1,.w file 将第 1 行至当前行写入 file 文件
:.,$w file 将当前行至最后一行写入 file 文件
:.,.+5w file 从当前行开始将 6 行内容写入 file 文件
:1,$w file 将所有内容写入 file 文件,相当于 :w file 命令
在命令模式下,允许从文件中读取正文,或将正文写入文件。例如:
:w 将编辑的内容写入原始文件,用来保存编辑的中间结果
:wq 将编辑的内容写入原始文件并退出编辑程序(相当于 ZZ 命令)
:w file 将编辑的内容写入 file 文件,保持原有文件的内容不变
:a,bw file 将第 a 行至第 b 行的内容写入 file 文件
:r file 读取 file 文件的内容,插入当前光标所在行的后面
:e file 编辑新文件 file 代替原有内容
:f file 将当前文件重命名为 file
:f 打印当前文件名称和状态,如文件的行数、光标所在的行号等
3. 字符串搜索
给出一个字符串,可以通过搜索该字符串到达指定行。如果希望进行正向搜索,将待搜索的字符串置于两个“/”之间;如果希望反向搜索,则将字符串放在两个“?”之间。例如:
:/str/ 正向搜索,将光标移到下一个包含字符串 str 的行
:? str? 反向搜索,将光标移到上一个包含字符串 str 的行
:/str/w file 正向搜索,并将第一个包含字符串 str 的行写入 file 文件
:/str1/,/str2/w file 正向搜索,并将包含字符串 str1 的行至包含字符串str2 的行写入 file 文件
4. 正文替换
利用 :s 命令可以实现字符串的替换。具体的用法包括:
:s/str1/str2/ 用字符串 str2 替换行中首次出现的字符串 str1
:s/str1/str2/g 用字符串 str2 替换行中所有出现的字符串 str1
:.,$ s/str1/str2/g 用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1
:1,$ s/str1/str2/g 用字符串 str2 替换正文中所有出现的字符串 str1
:g/str1/s//str2/g 功能同上从上述替换命令可以看到:g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,表示只对搜索字符串的首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。
5. 删除正文
在命令模式下,同样可以删除正文中的内容。例如:
:d 删除光标所在行
:3d 删除 3 行
:.,$d 删除当前行至正文的末尾
:/str1/,/str2/d 删除从字符串 str1 到 str2 的所有行
6. 恢复文件
vi 在编辑某个文件时,会另外生成一个临时文件,这个文件的名称通常以 . 开头,并以 .swp 结尾。vi 在
正常退出时,该文件被删除,若意外退出,而没有保存文件的最新修改内容,则可以使用恢复命令:
:recover 恢复文件
也可以在启动 vi 时利用 -r 选项。
#DEMO#
#DEMO#
1.5 选项设置
为控制不同的编辑功能,vi 提供了很多内部选项。利用 :set 命令可以设置选项。基本语法为:
:set option 设置选项 option
常见的功能选项包括:
autoindent 设置该选项,则正文自动缩进
ignorecase 设置该选项,则忽略规则表达式中大小写字母的区别
number 设置该选项,则显示正文行号
ruler 设置该选项,则在屏幕底部显示光标所在行、列的位置
tabstop 设置按 Tab 键跳过的空格数。例如 :set tabstop=n,n 默认值为 8
mk 将选项保存在当前目录的 .exrc 文件中
#DEMO#
1.6 shell 切换
在编辑正文时,利用 vi 命令模式下提供的 shell 切换命令,无须退出 vi 即可执行 Linux 命令,十分方便。语法格式为:
:! command 执行完 shell 命令 command 后回到 vi
另外,在编辑模式下,键入 K ,可命令 vi 查找光标所在单词的手册页,相当于运行 man命令。
#DEMO#
1.7 vim 和 gvim 的高级特色
Vim 代表 Vi IMproved,如同其名称所暗示的那样,Vim 作为标准 UNIX 系统 vi 编辑器的提高版而存在。 Vim 除提供和 vi 编辑器一样强大的功能外,还提供有多级恢复、命令行历史以及命令及文件名补全等功能。
gvim 是 vi 的 X Window 版本,该版本支持鼠标选中,一些高级光标移动功能,并且带有菜单和工具按钮。

主要是字体没有安装,因为在WINDOWS中,默认字体为SIMSUN也就是宋体,在LINUX下并没有安装,
从而导致中文显示为乱码或干脆不显示,解决方法很简单,安装字体.
我觉得麻烦,直接将WINDOWS中的.ttc和.ttf全部复制到/usr/share/fonts/default/True1里面,很轻松就搞定了,
当然,直接复制肯定不行,还得来一次/etc/rc.d/init.d/xfs restart或重启计算机.
安装字体的看这个:http://www.donews.net/zwell/articles/font_install.aspx

1,将 simsun.ttf (或 simsun.ttc, RH 对 ttf 和 ttc 文件都支持)拷贝至
    /usr/share/fonts/default/TrueType (在Fedora core 2中位置为: /usr/share/fonts/default/True1)
2,运行 /etc/rc.d/init.d/xfs restart

tar命令

tar可以为文件和目录创建档案。利用tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件, 或者向档案中加入新的文件。tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案,如软盘。利用tar命令,可以把一大堆的文件和目录 全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。Linux上的tar是GNU版本的。

语法:tar [主选项+辅选项] 文件或者目录

使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。

主选项:

c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。

r 把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。

t 列出档案文件的内容,查看已经备份了哪些文件。

u 更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。

x 从档案文件中释放文件。

辅助选项:

b 该选项是为磁带机设定的。其后跟一数字,用来说明区块的大小,系统预设值为20(20*512 bytes)。

f 使用档案文件或设备,这个选项通常是必选的。

k 保存已经存在的文件。例如我们把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖。

m 在还原文件时,把所有文件的修改时间设定为现在。

M 创建多卷的档案文件,以便在几个磁盘中存放。

v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。

w 每一步都要求确认。

z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。

例1:把/home目录下包括它的子目录全部做备份文件,备份文件名为usr.tar。

$ tar cvf usr.tar /home

例2:把/home目录下包括它的子目录全部做备份文件,并进行压缩,备份文件名为usr.tar.gz 。

$ tar czvf usr.tar.gz /home

例3:把usr.tar.gz这个备份文件还原并解压缩。

$ tar xzvf usr.tar.gz

例4:查看usr.tar备份文件的内容,并以分屏方式显示在显示器上。

$ tar tvf usr.tar | more

要将文件备份到一个特定的设备,只需把设备名作为备份文件名。

例5:用户在/dev/fd0设备的软盘中创建一个备份文件,并将/home 目录中所有的文件都拷贝到备份文件中。

$ tar cf /dev/fd0 /home

要恢复设备磁盘中的文件,可使用xf选项:

$ tar xf /dev/fd0

如 果用户备份的文件大小超过设备可用的存贮空间,如软盘,您可以创建一个多卷的tar备份文件。M选项指示tar命令提示您使用一个新的存贮设备,当使用M 选项向一个软驱进行存档时,tar命令在一张软盘已满的时候会提醒您再放入一张新的软盘。这样您就可以把tar档案存入几张磁盘中。

$ tar cMf /dev/fd0 /home

要恢复几张盘中的档案,只要将第一张放入软驱,然后输入有x和M选项的tar命令。在必要时您会被提醒放入另外一张软盘。

$ tar xMf /dev/fd0

gzip命令

减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。

语法:gzip [选项] 压缩(解压缩)的文件名

各选项的含义:

-c 将输出写到标准输出上,并保留原有文件。

-d 将压缩文件解压。

-l 对每个压缩文件,显示下列字段:

压缩文件的大小

未压缩文件的大小

压缩比

未压缩文件的名字

-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。

-t 测试,检查压缩文件是否完整。

-v 对每一个压缩和解压的文件,显示文件名和压缩比。

-num 用指定的数字num调整压缩的速度,-1或–fast表示最快压缩方法(低压缩比),-9或–best表示最慢压缩方法(高压缩比)。系统缺省值为6。

假设一个目录/home下有文件mm.txt、sort.txt、xx.com。

例1:把/home目录下的每个文件压缩成.gz文件。

$ cd /home

$ gzip *

$ ls

m.txt.gz sort.txt.gz xx.com.gz

例2:把例1中每个压缩的文件解压,并列出详细的信息。

$ gzip -dv *

mm.txt.gz 43.1%—–replaced with mm.txt

sort.txt.gz 43.1%—–replaced with sort.txt

xx.com.gz 43.1%—–replaced with xx.com

$ ls

mm.txt sort.txt xx.com

 

例3:详细显示例1中每个压缩的文件的信息,并不解压。

$ gzip -l *

compressed uncompr. ratio uncompressed_name

277 445 43.1% mm.txt

278 445 43.1% sort.txt

277 445 43.1% xx.com

$ ls

mm.txt.gz sort.txt.gz xx.com.gz

例4:压缩一个tar备份文件,如usr.tar,此时压缩文件的扩展名为.tar.gz

$ gzip usr.tar

$ ls

usr.tar.gz

unzip命令

用MS Windows下的压缩软件winzip压缩的文件如何在Linux系统下展开呢?可以用unzip命令,该命令用于解扩展名为.zip的压缩文件。

语法:unzip [选项] 压缩文件名.zip

各选项的含义分别为:

-x 文件列表 解压缩文件,但不包括指定的file文件。

-v 查看压缩文件目录,但不解压。

-t 测试文件有无损坏,但不解压。

-d 目录 把压缩文件解到指定目录下。

-z 只显示压缩文件的注解。

-n 不覆盖已经存在的文件。

-o 覆盖已存在的文件且不要求用户确认。

-j 不重建文档的目录结构,把所有文件解压到同一目录下。

例1:将压缩文件text.zip在当前目录下解压缩。

$ unzip text.zip

 

例2:将压缩文件text.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件。

$ unzip -n text.zip -d /tmp

 

例3:查看压缩文件目录,但不解压。

$ unzip -v text.zip

zgrep命令

这个命令的功能是在压缩文件中寻找匹配的正则表达式,用法和grep命令一样,只不过操作的对象是压缩文件。如果用户想看看在某个压缩文件中有没有某一句话,便可用zgrep命令。

tar – tar 档案文件管理程序的 GNU 版本。  

总览

tar [ - ] A –catenate –concatenate | c –create | d –diff –compare | r –append | t –list | u –update | x -extract –get [ --atime-preserve ] [ -b, --block-size N ] [ -B, --read-full-blocks ] [ -C, --directory DIR ] [ --checkpoint     ]
[ -f, --file [HOSTNAME:]F ] [ --force-local    ]
[ -F, --info-script F --new-volume-script F ] [ -G, --incremental ] [ -g, --listed-incremental F ] [ -h, --dereference ] [ -i, --ignore-zeros ] [ -I, --bzip ] [ --ignore-failed-read ] [ -k, --keep-old-files ] [ -K, --starting-file F ] [ -l, --one-file-system ] [ -L, --tape-length N ] [ -m, --modification-time ] [ -M, --multi-volume ] [ -N, --after-date DATE, --newer DATE ] [ -o, --old-archive, --portability ] [ -O, --to-stdout ] [ -p, --same-permissions, --preserve-permissions ] [ -P, --absolute-paths ] [ --preserve       ]
[ -R, --record-number ] [ --remove-files ] [ -s, --same-order, --preserve-order ] [ --same-owner ] [ -S, --sparse ] [ -T, --files-from F ] [ --null   ]
[ --totals         ]
[ -v, --verbose ] [ -V, --label NAME ] [ --version        ]
[ -w, --interactive, --confirmation ] [ -W, --verify     ]
[ --exclude FILE ] [ -X, --exclude-from FILE ] [ -Z, --compress, --uncompress ] [ -z, --gzip, --ungzip     ]
[ --use-compress-program PROG ] [ --block-compress ] [ -[0-7][lmh]      ]

filename1 [ filename2, ... filenameN ]
directory1 [ directory2, ...directoryN ]

 

描述

tar 程序用于储存或展开 tar 存档文件。存档文件可放在磁盘中 ,也可以存为普通文件。 tar是需要参数的,可选的参数是A、c、d、r、t、u、x,您在使用tar时必须首先为 tar 指定至少一个参数;然后,您必须指定要处理的文件或目录。如果指定一个目录则该目录下 的所有子目录都将被加入存档。  

应用举例:

1)展开 abc.tar.gz 使用命令: tar xvzf abc.tar.gz 展开 abc.tar 使用命令: tar xvf abc.tar

2)将当前目录下的 man 目录及其子目录存成存档 man.tar tar cf man.tar ./man  

参数说明

运行tar时必须要有下列参数中的至少一个才可运行

-A, –catenate, –concatenate 将一存档与已有的存档合并
-c, –create     建立新的存档
-d, –diff, –compare 比较存档与当前文件的不同之处
–delete                 从存档中删除
-r, –append             附加到存档结尾
-t, –list               列出存档中文件的目录
-u, –update             仅将较新的文件附加到存档中
-x, –extract, –get             从存档展开文件

 

其他参数

–atime-preserve        不改变转储文件的存取时间
-b, –block-size N       指定块大小为 Nx512 字节(缺省时 N=20)
-B, –read-full-blocks  
读取时重组块(???!!!)
-C, –directory DIR      转到指定的目录
–checkpoint             读取存档时显示目录名
-f, –file [HOSTNAME:]F  指定存档或设备 (缺省为 /dev/rmt0)
–force-local            强制使用本地存档,即使存在克隆
-F, –info-script F –new-volume-script F 在每个磁盘结尾使用脚本 F (隐含 -M)
-G, –incremental        建立老 GNU 格式的备份
-g, –listed-incremental F 建立新 GNU 格式的备份
-h, –dereference        不转储动态链接,转储动态链接指向的文件。
-i, –ignore-zeros       忽略存档中的 0 字节块(通常意味着文件结束)
–ignore-failed-read     在不可读文件中作 0 标记后再退出???
-k, –keep-old-files     保存现有文件;从存档中展开时不进行覆盖
-K, –starting-file F    从存档文件 F 开始
-l, –one-file-system    在本地文件系统中创建存档
-L, –tape-length N      在写入 N*1024 个字节后暂停,等待更换磁盘
-m, –modification-time  当从一个档案中恢复文件时,不使用新的时间标签
-M, –multi-volume       建立多卷存档,以便在几个磁盘中存放
-N, –after-date DATE, –newer DATE      仅存储时间较新的文件
-o, –old-archive, –portability         以 V7 格式存档,不用 ANSI 格式
-O, –to-stdout          将文件展开到标准输出
-p, –same-permissions, –preserve-permissions 展开所有保护信息
-P, –absolute-paths     不要从文件名中去除 ‘/’
–preserve               like -p -s
与 -p -s 相似
-R, –record-number      显示信息时同时显示存档中的记录数
–remove-files           建立存档后删除源文件
-s, –same-order, –preserve-order       ???
–same-owner 展开以后使所有文件属于同一所有者
-S, –sparse 高效处理
-T, –files-from F 从文件中得到要展开或要创建的文件名
–null 读取空结束的文件名,使 -C 失效
–totals 显示用 –create 参数写入的总字节数
-v, –verbose 详细显示处理的文件
-V, –label NAME 为存档指定卷标
–version 显示 tar 程序的版本号
-w, –interactive, –confirmation 每个操作都要求确认
-W, –verify 写入存档后进行校验
–exclude FILE 不把指定文件包含在内
-X, –exclude-from FILE 从指定文件中读入不想包含的文件的列表
-y, –bzip2, –bunzip2 用 bzip2 对存档压缩或解压
-Z, –compress, –uncompress 用 compress 对存档压缩或解压
-z, –gzip, –ungzip 用 gzip 对存档压缩或解压
–use-compress-program PROG 用 PROG 对存档压缩或解压 ( PROG 需能接受 -d 参数)
–block-compress 为便于磁盘存储,按块记录存档
-[0-7][lmh] 指定驱动器和密度[高中低]

一、安装

命令格式:

rpm -i ( or –install) options file1.rpm … fileN.rpm

参数:

file1.rpm … fileN.rpm 将要安装的RPM包的文件名

详细选项:

-h (or –hash) 安装时输出hash记号 (“#”)
–test 只对安装进行测试,并不实际安装。
–percent 以百分比的形式输出安装的进度。
–excludedocs 不安装软件包中的文档文件
–includedocs 安装文档
–replacepkgs 强制重新安装已经安装的软件包
–replacefiles 替换属于其它软件包的文件
–force 忽略软件包及文件的冲突
–noscripts 不运行预安装和后安装脚本
–prefix 将软件包安装到由 指定的路径下
–ignorearch 不校验软件包的结构
–ignoreos 不检查软件包运行的操作系统
–nodeps 不检查依赖性关系
–ftpproxy 作为 FTP代理
–ftpport 指定FTP的端口号为

通用选项

-v 显示附加信息
-vv 显示调试信息
–root 让RPM将 指定的路径做为”根目录”,这样预安装程序和后安装程序都会安装到这个目录下
–rcfile 设置rpmrc文件为
–dbpath 设置RPM 资料库存所在的路径为

二、删除

命令格式:

rpm -e ( or –erase) options pkg1 … pkgN

参数

pkg1 … pkgN :要删除的软件包

详细选项

–test 只执行删除的测试
–noscripts 不运行预安装和后安装脚本程序
–nodeps 不检查依赖性

通用选项

-vv 显示调试信息
–root 让RPM将 指定的路径做为”根目录”,这样预安装程序和后安装程序都会安装到这个目录下
–rcfile 设置rpmrc文件为
–dbpath 设置RPM 资料库存所在的路径为

三、升级

命令格式

rpm -U ( or –upgrade) options file1.rpm … fileN.rpm

参数

file1.rpm … fileN.rpm 软件包的名字

详细选项

-h (or –hash) 安装时输出hash记号 (“#”)
–oldpackage 允许”升级”到一个老版本
–test 只进行升级测试
–excludedocs 不安装软件包中的文档文件
–includedocs 安装文档
–replacepkgs 强制重新安装已经安装的软件包
–replacefiles 替换属于其它软件包的文件
–force 忽略软件包及文件的冲突
–percent 以百分比的形式输出安装的进度。
–noscripts 不运行预安装和后安装脚本
–prefix 将软件包安装到由 指定的路径下
–ignorearch 不校验软件包的结构
–ignoreos 不检查软件包运行的操作系统
–nodeps 不检查依赖性关系
–ftpproxy 作为 FTP代理
–ftpport 指定FTP的端口号为

通用选项

-v 显示附加信息
-vv 显示调试信息
–root 让RPM将 指定的路径做为”根目录”,这样预安装程序和后安装程序都会安装到这个目录下
–rcfile 设置rpmrc文件为
–dbpath 设置RPM 资料库存所在的路径为

四、查询

命令格式:

rpm -q ( or –query) options

参数:

pkg1 … pkgN :查询已安装的软件包

详细选项

-p (or “-”) 查询软件包的文件
-f 查询属于哪个软件包
-a 查询所有安装的软件包
–whatprovides 查询提供了 功能的软件包
-g 查询属于 组的软件包
–whatrequires 查询所有需要 功能的软件包

信息选项

显示软件包的全部标识
-i 显示软件包的概要信息
-l 显示软件包中的文件列表
-c 显示配置文件列表
-d 显示文档文件列表
-s 显示软件包中文件列表并显示每个文件的状态
–scripts 显示安装、卸载、校验脚本
–queryformat (or –qf) 以用户指定的方式显示查询信息
–dump 显示每个文件的所有已校验信息
–provides 显示软件包提供的功能
–requires (or -R) 显示软件包所需的功能

通用选项

-v 显示附加信息
-vv 显示调试信息
–root 让RPM将 指定的路径做为”根目录”,这样预安装程序和后安装程序都会安装到这个目录下
–rcfile 设置rpmrc文件为
–dbpath 设置RPM 资料库存所在的路径为

五、校验已安装的软件包

命令格式:

rpm -V ( or –verify, or -y) options

参数

pkg1 … pkgN 将要校验的软件包名

软件包选项

-p Verify against package file
-f 校验所属的软件包
-a Verify 校验所有的软件包
-g 校验所有属于组 的软件包

详细选项

–noscripts 不运行校验脚本
–nodeps 不校验依赖性
–nofiles 不校验文件属性

通用选项

-v 显示附加信息
-vv 显示调试信息
–root 让RPM将 指定的路径做为”根目录”,这样预安装程序和后安装程序都会安装到这个目录下
–rcfile 设置rpmrc文件为
–dbpath 设置RPM 资料库存所在的路径为

六、校验软件包中的文件

语法:

rpm -K ( or –checksig) options file1.rpm … fileN.rpm

参数:

file1.rpm … fileN.rpm 软件包的文件名

Checksig–详细选项

–nopgp 不校验PGP签名

通用选项

-v 显示附加信息
-vv 显示调试信息
–rcfile 设置rpmrc文件为

七、其它RPM选项

–rebuilddb 重建RPM资料库
–initdb 创建一个新的RPM资料库
–quiet 尽可能的减少输出
–help 显示帮助文件
–version 显示RPM的当前版本

添加GDM登陆会话菜单选项

我用的是fedora core 1,刚好把fvwm添加到了GDM登陆会话菜单里,把过程写下来。

以fvwm为例

1. 检查下面的文件是否存在:
/etc/X11/gdm/Sessions/fvwm

如果没有执行下列命令:

vi FVWM

内容如下

#!/bin/bash
exec /etc/X11/xdm/Xsession fvwm

然后:wq

2. 执行下面的命令:
su
cd /etc/X11/dm/Sessions
cp gnome.desktop fvwm.desktop

3.编辑 /etc/X11/xdm/Xsession
寻找gnome)(命令行模式下输入:”/gnome)”不要引号)大概在100行左右。加入下面内容。
 FVWM)
       exec -l $SHELL -c ”$SSHAGENT fvwm”
       ;;

4. 编辑 /etc/X11/dm/Sessions/fvwm.desktop
gedit /etc/X11/dm/Sessions/fvwm.desktop
在大概 ~58行, 替换
Exec=gnome-session
with
Exec=/usr/bin/fwvm2
做一个大小写敏感的替换 (Ctrl R in gedit)
Replace GNOME with FVWM

注销,fvwm就出现在菜单里了。

其他的窗口管理器也可以用类似的方法添加。

备注:

1、最好保证 /usr/X11R6/bin/fvwm2 /usr/bin/X11/fvwm2 /usr/local/bin/fvwm2三个目录下都有fvwm2,链结/拷贝皆可。

2、我的fvwm是自己编译的,fvwm官网下载的Latest Stable Release:     2.4.18


 天外闲云 回复于:2004-04-29 17:34:15
将以下内容保存为FvwmForm-Run放在$HOME/.fvwm下
[code:1:fdb00239ba]DestroyModuleConfig FvwmForm-Run: *
*FvwmForm-Run: WarpPointer
*FvwmForm-Run: Title "运行 ..."
*FvwmForm-Run: Line left
*FvwmForm-Run: Font "-adobe-courier-medium-r-normal--12-*-*-*-*-*-iso8859-1,-*-simsun-medium-r-normal-*-12-*-*-*-*-*-iso10646-1,*-r-*"
*FvwmForm-Run: ButtonFont "-adobe-courier-medium-r-normal--12-*-*-*-*-*-iso8859-1,-*-simsun-medium-r-normal-*-12-*-*-*-*-*-iso10646-1,*-r-*"
*FvwmForm-Run: Text "           "
*FvwmForm-Run: Line left
*FvwmForm-Run: Text "命令:"
*FvwmForm-Run: Input CMD 25 ""
*FvwmForm-Run: Line left
*FvwmForm-Run: Text "  "
*FvwmForm-Run: Line expand
*FvwmForm-Run: Text ""
*FvwmForm-Run: Button quit " 运行 " ^M
*FvwmForm-Run: Command Exec exec $(CMD) &
*FvwmForm-Run: Text ""
*FvwmForm-Run: Text ""
*FvwmForm-Run: Button quit " 取消 "
*FvwmForm-Run: Command Nop
[/code:1:fdb00239ba]

然后将以下代码插入.fvwm2rc文件中
[code:1:fdb00239ba]Key r           A       CM      Module FvwmForm FvwmForm-Run[/code:1:fdb00239ba]

这样,按ctrl+alt+r就有一个运行窗口了。


运行窗口


 天外闲云 回复于:2004-04-29 18:05:22
aterm实现透明效果
把以下内容写进$HOME/.Xdefaults

[code:1:1853f67002]aterm.borderColor:      black
aterm.background:       black
aterm.backspacekey:     "^H"
aterm.cusorColor:       IndianRed
aterm.foreground:       gray98
#aterm.geometry:                 80x24
#aterm.inputMethod:              xcin
aterm.multichar_encoding:       gb
aterm.preeditType:              OverTheSpot
aterm.scrollTtyKeypress:        True
aterm.scrollTtyOutput:          False
aterm.scrollBar_right:          True
aterm.shading:                  90
#aterm.termName:                 xterm-color
aterm.transparent: True
aterm.transpscrollbar: True
aterm.troughColor:              black
#aterm.font:                     8x16
#aterm.mfont:                    kc15f
[/code:1:1853f67002]

仔细研究了一下,这个aterm只有big5的mulitcharacters encoding,可能需要繁体字体的支持,也就是上面那个配置文件里的kc15f,国乔字体。


透明效果,只能对桌面透明,不能对窗口透明,还没有解决中文问题,哪位知道告诉我?


 天外闲云 回复于:2004-04-29 18:34:18
原来fvwm2.4系列对中文支持不好,去下一个2.5的来用用。


 天外闲云 回复于:2004-05-16 14:19:43
零二年的夏天的.fvwm2rc

[code:1:a14bb9bf0d]#This is my first fvwmrc. I got from internet and edit it.
#It's a sorrow that I forgot the name of this file's owner.
#
#############################################
#   Configuration
############################################
# PATH
#Set the icons's path
##########################################
ImagePath $HOME/.icons:/usr/local/share/icons/wm-icons:$HOME/.fvwm/icons

   Exec exec xclock -digital -bw 0 -padding 2 -bw 0 -update 1
############################################
# 1.   Couleurs
############################################
# 1.1 Barre de titre
# ------------------
# Hauteur d'une barre de titre
TitleStyle Height 15

# On définit la couleur de la barre de titre (ici on génère un gradient)
TitleStyle (VGradient 128 2 royalblue1 50 royalblue3 50 royalblue4)

# On définit la couleur lorsque la barre de titre est pressée
AddTitleStyle ActiveDown (VGradient 128 2 royalblue3 50 royalblue1 50 royalblue4)
# barre de titre inactive
TitleStyle Inactive (VGradient 128 2 grey85 50 grey70 50 grey50) -- Flat

# 1.2 Bouttons
# ------------
# on définit le boutton normal, pressé et inactif.
# Pour chaque cas, on définit la couleur et le dessin de manière
# vectorielle (on peut aussi mettre une image au format xpm.
# Ici, il n'y a pas de boutton 5. Remarquons qu'on ne s"intéresse ici
# que à l'aspect des bouttons, pas à sa fonction !
#
#boutton 1 : menu de la fenêtre
ButtonStyle 1 (VGradient 128 2 royalblue1 50 royalblue3 50 royalblue4)-- Flat
ButtonStyle 1 Inactive (VGradient 128 2 grey85 50 grey70 50 grey50) -- Flat
#Ici, on génère une flèche vers le bas
AddButtonStyle 1 Inactive (8 01x50@0 50x99@0 99x50@0 80x50@0 80x01@0 20x01@0 20x50@0 01x50@0) -- Flat
AddButtonStyle 1 ActiveUp (8 01x50@1 50x99@01 99x50@0 80x50@0 80x01@0 20x01@1 20x50@1 01x50@1) -- Flat
#inversion du gradient pour donner un effet de "boutton poussé" ...
AddButtonStyle 1 ActiveDown (VGradient 128 2 royalblue3 50 royalblue1 50 royalblue4 8 01x50@1 50x99@1 99x50@1 80x50@1 80x01@1 20x01@1 20x50@1 01x50@1) -- Flat

# boutton 3 : (un)stick
ButtonStyle 3 (VGradient 128 2 royalblue1 50 royalblue3 50 royalblue4)-- Flat
ButtonStyle 3 Inactive (VGradient 128 2 grey85 50 grey70 50 grey50) -- Flat
# un éclair
AddButtonStyle 3 ActiveUp (7 70x15@0 30x55@1 50x55@0 40x85@1 80x45@0 60x45@1 70x15@0) -- Flat
AddButtonStyle 3 Inactive (7 70x15@0 30x55@1 50x55@0 40x85@1 80x45@0 60x45@1 70x15@0) -- Flat
AddButtonStyle 3 ActiveDown (VGradient 128 2 royalblue3 50 royalblue1 50 royalblue4 7 70x15@0 30x55@1 50x55@0 40x85@1 80x45@0 60x45@1 70x15@0) -- Flat

# boutton 2: close
ButtonStyle 2 (VGradient 128 2 royalblue1 50 royalblue3 50 royalblue4)-- Flat
ButtonStyle 2 Inactive (VGradient 128 2 grey85 50 grey70 50 grey50) -- Flat
# on dessine une croix
AddButtonStyle 2 ActiveUp (13 20x20@0 80x80@0 85x80@0 25x20@0 30x20@0 90x80@0 50x50@0 20x80@0 80x20@0 85x20@0 25x80@0 30x80@0 90x20@0) -- Flat
AddButtonStyle 2 ActiveDown (VGradient 128 2 royalblue3 50 royalblue1 50 royalblue4 13 20x20@1 80x80@1 85x80@1 25x20@1 30x20@1 90x80@1 50x50@1 20x80@1 80x20@1 85x20@1 25x80@1 30x80@1 90x20@1) -- Flat
AddButtonStyle 2 Inactive (13 20x20@0 80x80@0 85x80@0 25x20@0 30x20@0 90x80@0 50x50@0 20x80@0 80x20@0 85x20@0 25x80@0 30x80@0 90x20@0) -- Flat

# boutton 4:  Maximize
ButtonStyle 4 (VGradient 128 2 royalblue1 50 royalblue3 50 royalblue4)-- Flat
ButtonStyle 4 Inactive (VGradient 128 2 grey85 50 grey70 50 grey50) -- Flat
# on dessine un cadre
AddButtonStyle 4 ActiveUp (7 20x20@0 90x20@0 90x25@0 20x25@0 20x80@0 90x80@0 90x20@0) -- Flat
AddButtonStyle 4 ActiveDown (VGradient 128 2 royalblue3 50 royalblue1 50 royalblue4 7 20x20@1 90x20@1 90x25@1 20x25@1 20x80@1 90x80@1 90x20@1) -- Flat
AddButtonStyle 4 Inactive (7 20x20@0 90x20@0 90x25@0 20x25@0 20x80@0 90x80@0 90x20@0) -- Flat

# boutton 6:minimize
ButtonStyle 6 (VGradient 128 2 royalblue1 50 royalblue3 50 royalblue4)-- Flat
ButtonStyle 6 Inactive (VGradient 128 2 grey85 50 grey70 50 grey50) -- Flat
# on dessine une barre
AddButtonStyle 6 ActiveUp (4 25x80@0 85x80@0 85x75@0 25x75@0 25x70@0 85x70@0) -- Flat
AddButtonStyle 6 ActiveDown (VGradient 128 2 royalblue3 50 royalblue1 50 royalblue4 4 25x80@1 85x80@1 85x75@1 25x75@1 25x70@1 85x70@1) -- Flat
AddButtonStyle 6 Inactive (4 25x80@0 85x80@0 85x75@0 25x75@0 25x70@0 85x70@0) -- Flat

# 1.3 Menu
# --------
#
#MenuStyle * Foreground grey90
#MenuStyle * Background #1c5572
MenuStyle * Foreground #f28007 #Some like font_color
Menustyle * Background #5c5f66 #Some like border_color
# diverses options
MenuStyle * SeparatorsShort
#MenuStyle * Hilight3DOff, HilightBack #424164, ActiveFore gray
MenuStyle * Animation
MenuStyle * TrianglesSolid
#Set the menu font
#MenuStyle * Font -adobe-helvetica-medium-r-*-*-12-*-*-*-*-*-*-* fvwm, PopupOffset 1 90
#MenuStyle * font -misc-simsun-medium-normal-*-*-12-*-*-c-*-gb2312,1980-0-* fvwm,PopupOffset 1 90
MenuStyle * Font  "-microsoft-tahoma-medium-r-normal--12-*-*-*-*-*-iso8859-1,\-misc-simsun-medium-r-normal--13-*-*-*-*-*-gb2312.1980-0,*-r-*" fvwm,PopupOffset 1 90
# Menu Ocean-Ploum Set the menu face like
# Menu Gris métalisé
#MenuStyle * MenuFace VGradient 128 grey85 1 black
BorderStyle -- HiddenHandles NoInset

#Mine
MenuStyle * Hilight3DOff, HilightBack #424164, ActiveFore white
MenuStyle * MenuFace VGradient 128 1 #080d19 1 black

########################################################
# 2.    Bureau
########################################################
# 2.1 Définition du multi-bureau
# ---------------------------
# Taille du bureau
DeskTopSize 3x3
# Pour faire du flip-edge
EdgeResistance 100 10
# pourcentage du scroll en cas de flip-edge
EdgeScroll 100 100

# 2.2 Propriétés du bureau
# -----------------------
ClickTime 750
OpaqueMoveSize 150
SnapAttraction  8 All Screen
ColormapFocus FollowsMouse

# 2.3 Propriétés des fenêtres/icones en général
# ---------------------------------------------
# Police des titres et des icones
Style "*" Font "-microsoft-tahoma-medium-r-normal--12-*-*-*-*-*-iso8859-1,\-misc-simsun-medium-r-normal--13-*-*-*-*-*-gb2312.1980-0,*-r-*"
Style "*" IconFont "-microsoft-tahoma-medium-r-normal--12-*-*-*-*-*-iso8859-1,\-misc-simsun-medium-r-normal--13-*-*-*-*-*-gb2312.1980-0,*-r-*"
# Couleur des textes et de l'arrière plan des fenêtres ou icones actives
Style "*" HilightFore white, HilightBack #1c5572
# Style général des fenêtres.
Style "*"           BorderWidth 1, HandleWidth 1
# Couleur du texte/fond des fenêtres/icones inactives
Style "*"       Color black/#8090A0
# Style à la Mosaic...
Style "*"           MWMFunctions, MWMDecor, HintOverride
Style "*"           MWMBorder
#, MWMButtons
Style "*"           DecorateTransient, NoPPosition
# Définition de l'iconebox (là ou vont les icones)
# On peut en mettre plusieurs où en consacrer certaines à certaines
# applications.
Style "*"           IconBox 1096 404 1152 -120
# Option de focus et de placement.
Style "*"           SmartPlacement
Style "*"        MouseFocusClickRaises
Style "*"    FPAllowFocusClickFunction, FPAllowRaiseClickFunction

# 2.4 Fenêtres particulières
# --------------------------
# D'abord les fenêtres spéciales fvwm
Style "Fvwm*"       NoTitle,  Sticky, WindowListSkip
Style "Fvwm*"       BorderWidth 2, CirculateSkipIcon, CirculateSkip
Style "FvwmPager"   StaysOnTop
Style "FvwmBanner"  StaysOnTop
Style "FvwmButtons" Icon toolbox.xpm, ClickToFocus

# Programmes personnels. Remarquons que toutes les définitions d'icones
# sont inutiles si mw-icons est appelé à la fin du fichier. Si c'est le
# cas, c'est ce fichier là que vous devez modifier pour associer vos
# icones à vos programmes.
Style "*lock"       NoTitle, NoHandles, Sticky, WindowListSkip, ClickToFocus
Style "xcalc"       Icon xcalc.xpm,RandomPlacement,ClickToFocus
Style "xmms"      Icon xmms.png
Style "MPlayer"      Icon blender.png
Style "xmh"         Icon mail1.xpm, NoIconTitle,StickyIcon
Style "Mozilla*"   Icon mozilla.png
Style "xman"        Icon xman.xpm, RandomPlacement, ClickToFocus
Style "xmag"        Icon mag_glass.xpm, RandomPlacement, ClickToFocus
Style "rxvt"      Icon konsole.xpm
Style "cxterm"      Icon xconsole.png, MouseFocusClickRaises
Style "konqueror"   Icon apple-red.xpm
Style "gphoto"      Icon gphoto.xpm
Style "psi"        Sticky
Style "gkrellm"         Sticky,WindowListSkip,NoTitle
Style "gkrellm"    CirculateSkipIcon,CirculateSkip
Style "aterm"      Sticky,NoTitle, WindowListSkip,BorderWidth 0,NoHandles
Style "penguineyes"   Sticky,WindowListSkip,BorderWidth 0, NoTitle
Style "penguineyes"    CirculateSkipIcon,CirculateSkip
Style "xconsole"    WindowListSkip
Style "Blur scope"   WindowListSkip,NoTitle,ClickToFocus,RandomPlacement
Style "Oscilloscope Flou" WindowListSkip,NoTitle,ClickToFocus,Placement
Style "Zinf" WindowListSkip,Sticky
#####################################
# 3.   Commandes
####################################

# 3.1 Raccourcis claviers
# -----------------------
# touche|situation|controleur|action
# touche = touche à presseur
# situation = A(ll),W(indow),T(itle),R(oot),F(rame),S(ide),I(con),0-9
# Frame = coin d'une fenêtre, 0-9 bouttons correspondants
# controleur=M(eta),C(ontrol),...
# Meta = touche alt
# on rajoute un 2 après pour que ?a marche avec numlock activé !
Key Tab       A        M       MyTab
Key Tab       A        M2      MyTab
Key Tab       A        C       MyTab2
Key Tab       A        C2      MyTab2
Key F4      WTSFI    M       Close
Key F4      WTSFI    M2      Close
Key F3      A        M       Popup Window-Ops
Key F3      A        M2      Popup Window-Ops
Key F2      A        M       Exec rxvt -bg black -fg white -fn fixed
Key F2      A        M2      Exec rxvt -bg black -fg white -fn fixed
Key F12     A        C       Quit
Key F12     A        C2      Quit
Key F12     A        M       Restart fvwm2
Key F12     A        M2      Restart fvwm2
Key F1      WTSFI    M       Maximize
Key F1      WTSFI    M2      Maximize
Key F1      WTSFI    C       MyIcon
Key F1      WTSFI    C2      MyIcon
Key Escape  A        C       WindowList Root c c
Key Escape  A        C2      WindowList Root c c
#Gestion de XMMS
#stop
Key q       A        M        Exec exec xmms -p
Key q       A        M2        Exec exec xmms -p
#stop
Key s       A        M        Exec exec xmms -s
Key s       A        M2        Exec exec xmms -s
#pause
Key w       A        M        Exec exec xmms -u
Key w       A        M2        Exec exec xmms -u
#précédent
Key a       A        M        Exec exec xmms -s
Key a       A        M2        Exec exec xmms -s
#suivante
Key x       A        M        Exec exec xmms -f
Key x       A        M2        Exec exec xmms -f
# Les raccourcies suivants permettent de "naviguer" dans les bureaux
Key Left    A        M       Scroll -100 +0
Key Left    A        M2      Scroll -100 +0
Key Right   A        M       Scroll +100 +0
Key Right   A        M2      Scroll +100 +0
Key Up      A        M       Scroll +0 -100
Key Up      A        M2      Scroll +0 -100
Key Down    A        M       Scroll +0 +100
Key Down    A        M2      Scroll +0 +100

# Les menus accessibles depuis la souris
Mouse 1   R      A       Menu RootMenu Nop
Mouse 2   R       A         Menu Window-Ops Nop
Mouse 3   R       A         WindowList

#   Bouttons des fenêtres et title bar:
Mouse 0   1       A         Menu Window-Ops2 Close
Mouse 0 3   A   Stick
Mouse 0   2       A        Close
Mouse 0   4   A   Maximize
Mouse 0   6       A        Iconify
Mouse 1   F      A   Resize-or-Raise
Mouse 1   TS      A   Move-or-Raise
Mouse 1   I      A   Move-or-Iconify
Mouse 2   I      A   Iconify
Mouse 2   T      A   WindowShade
Mouse 3   T      A   Raise-or-RaiseLower

# 3.2 Commandes à l'initialisation
# --------------------------------
# On met ici ce qui doit être lancé au démrage ou au redémarage de fvwm.
# On peut définir fond d'écran, etc.. mais rien ne sert de faire
# double-emploi avec .xsession
AddToFunc InitFunction      "I" Module FvwmPager 0 0
+ "I" Module FvwmButtons
AddToFunc RestartFunction "I" Module FvwmPager 0 0
+ "I" Module FvwmButtons

# 3.3 Menu
# --------
AddToMenu RootMenu "PopZslam%apple-red.png"   Title
+       "XTerm"      Exec exec cxterm -bg gray -fg black +sb -sk -sl 30 -geometry 80x20 \
-fn "-microsoft-tahoma-medium-r-normal--12-*-*-*-*-*-iso8859-1,\-misc-simsun-medium-r-normal--13-*-*-*-*-*-gb2312.1980-0,*-r-*"
+      "Files Manage"      Popup filemanage
+      "Media Play"      Popup videomenu
+      "Network"      Popup Internet
+      "Games"         Popup games
+      "Editor"      Popup editmenu
+      ""         Nop
+      "Utilitaires"      Popup Utilitaires
+      "Admin"       Popup config

AddToMenu filemanage
+      " Nautilus"      Exec exec nautilus --no-desktop
+      " Konqueroru"      Exec exec konqueror
+      " Gnome-terminal"      Exec exec gnome-terminal

AddToMenu config   
+      " Rechercher"   Exec exec gtkfind
+      " Edit Menu"      Exec exec gvim .fvwm/.fvwm2rc
+      ""         Nop
+               " Restart Fvwm2"     Restart fvwm2
+      " ShutDown?"      Popup shutdown

AddToMenu shutdown   
+      " No.Wait a while."      nop
+      "  Yes.Shutdown!"      Quit

AddToMenu editmenu   
+         " OpenOffice"    Popup ooffice
+         " Abiword"   Exec exec abiword
+         " Eio"      Exec exec eio
+         " Gvim"      Exec exec gvim
+         " Gedit"      Exec exec gedit
+         " Kedit"      Exec exec kedit
+         " Emacs"      Exec exec emacs
+         " Stardict"   Exec exec stardict
+         " Readers"   Popup Reader   

AddToMenu ooffice   " Open Office"   Exec exec ooffice
+         " Word"      Exec exec oowriter
+         " Excell"   Exec exec oocalc
+         " Powerpoint"   Exec exec ooimpress
+         " Equation"   Exec exec oomath
+         " Draw"      Exec exec oodraw
+         " HTML"      Exec exec bluefish
+         ""      nop
+         " The Gimp"      Exec exec gimp
+         " CinePaint"         Exec exec cinepaint
+         " Dia"      Exec exec dia
+         ""      nop

AddToMenu videomenu   
+   " Mplayer"   Exec exec gmplayer
+   " Mixer"            Exec exec gnome-volume-control
+   " Xmms"      Exec exec xmms
+   " Grip"            Exec exec grip
+   " CD-Player"         Exec exec kscd

AddToMenu Internet   
+         " Opera"      Exec exec opera
+         " Gaim"         Exec exec gaim
+         " Mozilla"      Exec exec mozilla
+         " Firebird"      Exec exec firebird
+         " Evolution"      Exec exec evolution

AddToMenu Reader   
+         " Xpdf"      Exec exec xpdf
+         " kghostview"   Exec exec kghostview
+         " kuickshow"   Exec exec kuickshow
+         " Eye of GNOME"   Exec exec eog
+         " ksnapshot"   Exec exec ksnapshot

AddToMenu Utilitaires   
+         " Utilities"     Popup Utilities
+         " ShowTime"      Exec exec xclock -digital -bw 0 -padding 2 -bw 0 -update 1
+         " knote"         Exec exec knotes
+         " Root Cxterm"   Exec exec cxterm -bg gray -fg black +sb -sk -sl 30 -geometry 80x20 \
-fn "-microsoft-tahoma-medium-r-normal--12-*-*-*-*-*-iso8859-1,\-misc-simsun-medium-r-normal--13-*-*-*-*-*-gb2312.1980-0,*-r-*" -e su -
+         ""      Nop
+         " Refresh Screen"   Refresh
+         " Recapture Screen" Recapture
+         ""      Nop

AddToMenu Utilities     
+         " Top"      Exec exec xterm -T Top -n Top -e top
+         " Calculator"   Exec exec xcalc
+         " Xmag"      Exec exec xmag
+         " Editres"       Exec exec editres
+         ""      Nop
+         " Reset X defaults" Exec xrdb -load $HOME/.Xdefaults

AddToMenu games   
+         " 空档接龙"   Exec exec freecell
+         " Kpoker"   Exec exec kpoker

######################## Sample Functions ##########################

AddToFunc MailFunction      "I" Next [$0] Iconify -1
+                 "I" Next [$0] Focus
+            "I" None [$0] Exec $0 $1

AddToFunc Move-or-Raise      "I" Raise
+            "M" Move
+              "D" Lower

AddToFunc Move-or-Raise2   "M" Raise
+            "M" Move
+              "D" Lower

AddToFunc Maximize-Func      "M" Maximize    0 100
+            "C" Maximize    0 80
+            "D" Maximize    100 100

AddToFunc Move-or-Iconify   "I" Raise
+            "M" Move
+            "D" Iconify

AddToFunc Resize-or-Raise   "I" Raise
+            "M" Resize
+            "D" Lower

AddToFunc Resize-or-Raise2   "M" Raise
+            "M" Resize
+            "D" Lower

AddToFunc PrintFunction      "I" Raise
+            "I" Exec xdpr -id $w

AddToFunc PrintReverseFunction  "I" Raise
+                               "I" Exec xdpr 1/2 -h -rv -id $w

AddToFunc Iconify-and-Raise     "I" Iconify
+                               "I" Raise

# RLOGIN machine fg bg
AddToFunc RLOGIN "I" Exec xterm -fg $1 -bg $2 -e rlogin $0 -8
AddToFunc SSH "I" Exec rxvt -e ssh $0

# TELNET machine fg bg
AddToFunc TELNET "I" Exec xterm -fg $1 -bg $2 -e telnet $0

AddToFunc FocusAndWarp "I" FlipFocus
+                      "I" WarpToWindow 50 50

AddToFunc DeiconifyFocusAndWarp "I" Iconify -1
+                               "I" FocusAndWarp

AddToFunc ChangeDefaultFocus "I" Style "*" $0
+                            "I" Recapture

AddToFunc MyTab "I" Next [!Iconic] FocusAndWarp

AddToFunc MyTab2 "I" Next [*] DeiconifyFocusAndWarp

AddToFunc MyIcon "I" Iconify
+                "I" Focus
+                "I" WarpToWindow 50 50
########################## Window-Identifier ###############################
# Just choose colors and a fonts
*FvwmIdentBack #708090
*FvwmIdentFore black
*FvwmIdentFont "-microsoft-tahoma-medium-r-normal--12-*-*-*-*-*-iso8859-1,\-misc-simsun-medium-r-normal--13-*-*-*-*-*-gb2312.1980-0,*-r-*"
########################### Pager #########################################
*FvwmPagerBack #1e5774
*FvwmPagerFore #000000
# turn off desktop names for swallowing in above button bar example:
*FvwmPagerFont none
*FvwmPagerHilight #dee5ef
*FvwmPagerGeometry 75x75-5-5
*FvwmPagerLabel 0 Misc
*FvwmPagerLabel 1 Maker
*FvwmPagerLabel 2 Mail
*FvwmPagerLabel 3 Matlab
*FvwmPagerSmallFont 5x8
*FvwmPagerBalloons            All
*FvwmPagerBalloonBack         #000000
*FvwmPagerBalloonFore         white
*FvwmPagerBalloonFont         "-microsoft-tahoma-medium-r-normal--12-*-*-*-*-*-iso8859-1,\-misc-simsun-medium-r-normal--13-*-*-*-*-*-gb2312.1980-0,*-r-*"
*FvwmPagerBalloonYOffset      +2
*FvwmPagerBalloonBorderWidth  1
*FvwmPagerBalloonBorderColor  Black
*FvwmPagerMiniIcons
##########################FvwmWinList##################################
*FvwmWinListBack #403030
*FvwmWinListFore White
*FvwmWinListFont "-microsoft-tahoma-medium-r-normal--12-*-*-*-*-*-iso8859-1,\-misc-simsun-medium-r-normal--13-*-*-*-*-*-gb2312.1980-0,*-r-*"
*FvwmWinListAction Click1 Iconify -1,Focus
*FvwmWinListAction Click2 Iconify
*FvwmWinListAction Click3 Module "FvwmIdent" FvwmIdent
*FvwmWinListUseSkipList
*FvwmWinListGeometry +0-1
*FvwmBackerDesk 0 -solid steelblue
*FvwmBackerDesk 1 -solid midnightblue
*FvwmScrollBack grey40
*FvwmScrollFore green
*FvwmBannerTimeout 4

Read fvwm2rc-wm-icons

# FvwmButtons settings
# Creates buttons in the upper left corner which slide a panel with some
# frequently used applications (which are open all the time) in and out.
# Some apps are not spawned automatically (Nop), allowing me e.g. to logoff
# MSN on one computer, go to work, and logon there. When they get started
# again, they are automatically swallowed in the panel (UseOld).
Style "FvwmButtons" Sticky, NoHandles, NoTitle, BorderWidth 0, StaysOnBottom
*FvwmButtons: Columns 1
*FvwmButtons: Back black
*FvwmButtons: Frame 0
*FvwmButtons: (Icon menu/music.xpm \
                Panel(position top,right,delay 0,UseOld,NoClose) \
                "Zinf" Exec exec zinf)
*FvwmButtons: (Icon menu/modules.xpm Swallow(position top,right,delay 0,UseOld,NoClose) "psi" Exec exec psi) [/code:1:a14bb9bf0d]

2004年06月28日

ldconfig干了些什么?

linux下的共享库机制采用了类似于高速缓存的机制,将库信息保存在/etc/ld.so.cache里边。

程序连接的时候首先从这个文件里边查找,然后再到ld.so.conf的路径里边去详细找。

这就是为什么修改了ld.so.conf要重新运行一下ldconfig的原因。:)

怎样让Fvwm支持鼠标手写

1.在编译fvwm之前先下载 libstroke-0.5.1fvwm.tar.gz

下载地址在:http://www.etla.net/libstroke

tar zxvf libstroke-0.5.1fvwm.tar.gz

cd libstroke*  ./configure  –prefix=/usr/local

make ,make install

这样在目录/usr/local/lib下面会生成libstroke*.so文件

最好在/etc/ld.so.conf文件中加入:/usr/local/lib

然后在命令行下面:ldconfig

2.再下载fvwm2.5.6.tar.bz2

tar jxvf *.bz2

./configure

make ,make install

3.在root目录下面(或者你自己的根目录下面)创建目录.fvwm 

把相应的配置文件copy在这目录下面,并命名为.fvwm2rc即可。

<一>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文件,因为它压缩得比较大。(可以省点网费)

<二>编译和安装过程

所有的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/015450/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。它提供了不少的主题,你也可以自己制作自己喜欢的主题:)