Linux 版 (精华区)
发信人: clx (楚留香), 信区: Unix
标 题: The X Windows -- FVWM -- at the X terminal
发信站: 紫 丁 香 (Sat Jun 27 14:25:30 1998), 转信
The X Windows -- FVWM -- at the X terminal
第0章 安装
第一章 启动流程
第二章 机器组态的设定 (如 PC 的 CMOS 设定)
第一节 I/O test
第二节 Download Code
(一) Network 参数
(二) Startup 参数
第三章 X Window Manager -- FVWM
INITIALLATIVE / CONFIGURATIVE FILE
CONFIGURATION
第四章 自动执行档 -- .xsession
第五章 其他
参考资料
附录一 .xsession file
附录二 .fvwmrc file
返回W.H. Chen Home Page
--------------------------------------------------------------------------------
第0章 安装
1. 先将 .xsession 与 .fvwmrc 取回, 并且设法置於自己的 Home Directory 之下。
2. 确定 .xsession 为可执行 (若不行则 # chmod 755 .xsession), 如:
-rwxr-xr-x 1 wohong cc 530 Dec 11 15:48 .xsession
3. 看第二章 机器组态的设定, 将机器组态设定完成。
4. 启动 X windows 即可。
5. 若要更详尽的说明, 请看各章内容。
返回目录
--------------------------------------------------------------------------------
第一章 启动流程
开机
机器组态的设定 (To Configuration)
xdm (login 画面)
Auto_start file
(1) $HOME/.xsession
(2) /usr/lib/X11/xdm/Xsession (default)
X window manager (fvwm)
(1) $HOME/.fvwmrc
(2) /usr/lib/X11/fvwm/system.fvwm (default)
返回目录
--------------------------------------------------------------------------------
第二章 机器组态的设定 (如 PC 的 CMOS 设定)
第一节 I/O test
开机之後, 机器便开始例行的 I/O test , 萤幕便会出现如下的讯息:
2048 KB Base RAM
8192 KB Expansion RAM
1024 KB Video RAM
USASCII 101/2 keyboard
Standard mouse
Network on BNC port
此时的滑鼠尚未有动作。最後会有「beep」一声。
第二节 Download Code
当 I/O test 过了之後, 便开始 Download Code , 包括 Boot, Network
Configuration, Load Font...etc , (此时滑鼠已有作用), 若你是第一
次使用的话, 便在哔一声後按「F12」键, 或利用滑鼠点一下「to configuration」
, 便可进入组态设定的画面, 其中包括了 Preferences, Network, Statistics
, Terminal, Startup, Selt Test ..等六个主要的项目, 而我们只要确认及
修改当中的 Network 和 Startup 这两个项目即可。
注意: 设定时, 可於该参数中, 点一下滑鼠右键, 会有线上的求助 (help) 画面。
(一) Network 参数
IP Address: 140.114.64.127
确认使用者所在的机器的 IP Address, 并适时修改之。一般标示於
萤幕的左上方。
Sutnet Mask: 255.255.255.0
确任该机器的 Subnet, 给予正确的遮罩(mask), 清大校园一般皆为
255.255.255.0。
File Server: 140.114.63.52
清大的 File server 如上, 如不清楚可询问计中的管理者。
TFTP/NFS : TFTP
File Timeout 「30」 second
Alt. File Server:
第二个 File Server, 此参数可不设定。
Name Server: 140.114.64.10
此参数为 Domain Name Server 的 IP Address, 清大者如上, 不清楚可询问
计中管理者。
Domain Name: nthu.edu.tw
领域名称, 清大者如上。
Edit Gateways:
举个例子来说, 修改 Gateway Table, 即执行「 Edit Gateways 」的
功能, (其中共提供四组对应), 当中每组需要两笔资料
(1) Gateway : 该 Subnet 的 gateway IP [subnet(64)] => 140.114.64.254,
可询问计中管理者。
(2) route to: 你要存取到的机器的 IP Address, Name Server或空字串。
而使用者仅须修改第一组route to到Name Server, 而第二组route to
为空字串即可, 所以设定为:
- Gateway route to 3 140.114.64.254 140.114.64.10 4 140.114.64.254
Recall
回复到修改前的设定。
Factory Defaults
将设定回复到预设的状态。
Save
修改完毕後, 需点一下「Save」, 以确保设定的写入。
修改确认完後, 要点一下 「Save」, 将参数的设定储存起来。
(二) Startup 参数
ROM Fonts: enable
ROM(local) 的字型, 在此并不包含中文字型, 其中文字型在第四章会有较详
细的说明。
RGB File from: Network
X window 的色彩档的来源。
X server from: Network
X Server File: C2708A.new
Remote config Download: Disable
XDMCP Enable Direct Host: 140.114.63.17
表示使用 XDMCP 模式, 且直接签入 y17 工作站
此 Host 需加入 Network 项目的 Gateway Table 中。
TELNET: Disable
修改确认完後, 一样要点一下 「Save」。
当完成了 Network 及 Startup 这两个项目的参数设定後, 点一下「To boot Screen
」,然後再点一下「Download Code」, 以便重新启动 X window。当 Download Code 完成
之後, 便会出现 xdm 的 login 画面, 表示已成功地完成机器组态设定了。
返回目录
--------------------------------------------------------------------------------
第三章 X Window Manager -- FVWM
基本的机器组态设定完成之後, 接下来便是较精彩的 X Window Manager (以下简称
XWM)的部份了 , 因为他决定了你的 X Window 的画面, 包括启动画面, 背景根视窗
(root window)的图案色彩, 各元件的字型与色彩, 及 Popup Menu , GoodStuff,
Stratup program.. 等,可以依个人的喜好加以编修, 唯一美中不足的是 XWM 的设定档
是一个 text file , 他不像 MS-Window V3.1 一般, 於(程式管理员//主群组//控制台)
中可以找到所要设定的图示, 包括 滑鼠, 桌面..等, 但 X Window 仍然有比 MS-Window
更吸引人们的地方, 待我们来玩索。
INITIALLATIVE / CONFIGURATIVE FILE
现在我们以 FVWM 这一个 XWM 来做一个介绍, 若还有印象, 刚才笔者有提过设定档为
text file, 而此 text file 的档名为何呢? 又放在何处呢? 这是我们要先了解的。
(1) $HOME/.fvwmrc
便是在你的 Home Directory 下的 .fvwmrc 这一个档案, (一般使用者应该没有该
档), 而若你并没有此档案的话, XWM 便会去寻找 FVWM 预设的档案, 即
(2) /usr/lib/X11/fvwm/system.fvwmrc
此档为 FVWM XWM 的预设设定档, 而若你不喜欢该设定档所表现的视窗的话, 你可
以复制一份到你的 Home Directory 下的 .fvwmrc 档案之後, 再修改即可。
cp /usr/lib/X11/fvwm/system.fvwmrc $HOME/.fvwmrc
CONFIGURATION
COLOR
设定视窗各元件之色彩。关於色彩的描述有二种方式
(1) 利用 Color Name:
(2) 利用 RGB 值:
举一个例子, 假设吾人要设定 Popup Menu 的背景色为 light sky blue, 而我们已
知(注一)
RGB Color Name 135 206 250 (十进位) light sky blue 87 CE FA (十六进位) -
则参数设定为
MenuBackColor light sky blue
或者
MenuBackColor #87CEFA
(注一) 至於有多少可用的 Color Name, 而其 RGB 值又为何? 我们可透过
"showrgb" 这个 Command 得知。
FONT
设定各元件中的字型, 如 Popup Menu, window title, icon .. 等。例如 Menu 的
字型参数设定
Font -adobe-helvetica-medium-r-*-*-14-*-*-*-*-*-*-*-
而其他字型可透过 "xlsfonts" command 得知其名称, 以资使用。
说明: 一般的字型设定, 通常不做更动, 而在启动 xterm 时, 为使其字型大一点,
可在命令列中做如下的修改及键入:
xterm -fn 10x20 &
至於要执行 cxterm (chinese terminal), 需要中文字型, 如下:
cxterm -fh taipeik24 -fn 12x24 &
^^^^^^^^^^^^^
FOCUS STUFF
切换「作用视窗」的方法:
(1) AutoRaise delay
当滑鼠指标停留在一个视窗中超过了 delay (millisecond) 後, 便会自动切
换该视窗为作用视窗(FOCUS)。 如
AutoRaise 750
(2) ClickToFocus
利用滑鼠於视窗的任一部位点一下(click), 即可切换作用视窗。如
ClickToFocus
WINDOW PLACEMENT
Random Placement
当使用者启动一个应用程式视窗後, XWM 会在根视窗中的任一个位子, 放置
该应用程式视窗 。
Smart Placment
在放置视窗时, 会先在根视窗中找一个空的地方放置, 而若没有的话, 再使用
User Placement 或 Random Placement。建议设此参数。
PAGER
DeskTopSize 3x3
设定 Pager 的大小。
DeskTopScale
设定 Pager 的显示比例。
FUNCTION
合成函数的定义, 也就是组织 FVWM 的内定函数, 给之後的滑鼠及按键匹配(bound)
之用。
举一个例子来作说明, 下面这个 Function 是滑鼠的左键相对於视窗标题栏的情况:
Function "Move-or-Raise" # 函数名称, 需用"双引号"括起来
Move "Motion"
^^^^ ^^^^^^^^
│ 事件的型态: 这里指的是「拖曳」。
└ 内定函数: 这里指的是「移动视窗」。
Raise "Motion"
^^^^^
内定函数: 唤醒视窗
Raise "Click"
^^^^^^^
事件型态: 点一下
Raiselower "DoubleClick"
^^^^^^^^^^ ^^^^^^^^^^^^^
│ 事件型态: 点二下
└ 内定函数: 唤醒并且将视窗移至最下层或最上层
EndFunction # 结束 Function 的定义
.
.
Mouse 1 T A Function "Move-or-Raise"
.
上面的设定表示当滑鼠的按钮 1 (左键), 在视窗的标题位置被按了之後, FVWM 便会
等待 150 msec, 检查左键是否被释放了没有? 如果没有, 便执行 Move 的动作, 当
完成了 Move 的动作後, 便唤醒(Raise)该视窗。而如果释放了, FVWM 便会以另一个
150 msec, 等待第二次的按纽, 如果只是点一下, 则执行唤醒的动作; 若是点二下,
则将视窗唤醒後并且移至最下层或最上层。
在这些 Function 当中, 存在二个特殊的 Function, 分别是 InitFunction 及
RestartFunction。当 FVWM 在任何一个 X session 第一次被启动时, InitFunction
会被呼叫, 他被用来启动 modules, 设定背景的花样, 及一些启动的应用程式。而
RestartFunction 则是当 FVWM 被重新启动时被呼叫, 其作用同 InitFunction ,
但不包含启动的应用程式。
以下则是 InitFunction 的例子:
Function "InitFunction"
Module "I" FvwmBanner # 启动画面
Module "I" xpmroot /usr/lib/X11/pixmaps/hpterm.xpm &
# 设定背景花样
Module "I" GoodStuff # 启动 GoodStuff
Module "I" FvwmPage 0 3 # 启动 Pager
Desk "I" 0 2 # 切换至第二个 Page
Exec "I" exec rxvt -T mail -e elm &
# 启动一个 VT100 terminal,
给予 mail 的标题, 并且执行 elm
Wait "I" rxvt # 等待 rxvt 的完全执行
Desk "I" 0 0
EndFunction
使用者可以在这个 Function 内任意的加入及修改, 使用者所想要的应用程式, 於一
开始进入 X window 的时候, 便自动执行, 可节省使用者不少的时间及带来方便。
POPUP MENU
□例
Popup Menu 的定义, 给之後的滑鼠与按键匹配使用。
举一个例子
Popup "Window Ops"
# 内建函数 於 Menu 中显示 所需的命令或参数
# 的名称
Title "Window Ops" # Menu 的标题
Function "Move" Move-or-Raise
.
.
Nop ""
.
.
Exec "Xterm" exec /usr/bin/X11/xterm -fn 7x14 &
. # 说明: 表示当使用者选择了 [Window
# Ops/Xterm]之後, 便会执行 xterm -fn
# 7x14 & 。
EndPopup
至於有多少「内建函数」(包含 Module, Desk, Exec, Wait, Nop, Title,
Function,.. 等) 可查阅 FVWM 的 Manual, 及在命令列中执行 "man fvwm", 当中
有详细的记载。
MOUSE
定义滑鼠的 Bindding。
格式
Mouse Button Context Modifiers Function
参数
Button
1 左键
2 中键
3 右键
Context
R for root window
W for application window
T for window title
S for window side, top, button bar
F for window frame # 视窗的转角处
I for icon window
0-9 for title bar button
1 3 5 7 9 0 8 6 4 2
┌┬—————————┬┬┐
└┴—————————┴┴┘
Modifier
N for no modifier
C for control
S for shift
M for meta
A for any modifier # 可同时配合键盘上的功能按键
Function
FVWM 的内建函数。
例如:
Mouse Button Context Modif Function
———————————————————————————
Mouse 1 R A Popup "Utilites"
Mouse 2 R A Popup "Window Ops"
Mouse 3 R A WindowList
表示使用者在根视窗中, 按住左键时, 会有 Utilites 的 Popup Meun, 这时使
用者可依需要, 选择其中的某项功能来执行。而 Utilites Menu 可由使用者自
行修改 , 可将常用的应用程式, 置於 Menu 中, 如此一来, 便不需要在命令列
中键入命令, 是个很方变的做法, 而 MS-Window 便无法提供如此的功能。
GOODSTUFF
□例
该 Module 提供一个按钮的窗格(panel), 放置在 X window 的根视窗中。注意:
GoodStuff 只有在 FVWM 视窗管理系统中才有作用。
格式
*GoodStuff label icon command
例如
若使用者想要在根视窗中有一个 News 的按钮(窗格, panel), 只要使用者点一下该
按纽 , 便可直接启动一个 News 的视窗, 以供使用者查看或张贴 POST, 则使用者
可如此做:
*GoodStuff News rterm.xpm Exec "News" cxterm -T News -fh taipeik20 \
-fn 10x20 -e tin -q &
说明: 此乃行命令, 不可中断。
这表示跟视窗中, 会有一个按钮, 其中标示著 News, 并有终端机的图样; 当
使用者点一下时, 他便会启动 cxterm (因为 News 有中文), 且直接执行 tin
-q 。
其他例子的如下:
*GoodStuff Kill rbomb.xpm Destroy
^^^^^^^
删除所指定的视窗应用程式(process)。
*GoodStuff Oz rterm.xpm Exec "Oz" xterm -T Oz -fn 10x20 \
-e telnet oz.pool.nthu.edu.tw &
说明: 在本文件的最後有一个□例,可供各位作为一个参考。
返回目录
--------------------------------------------------------------------------------
第四章 自动执行档 -- .xsession
以上便是 XWM 的启动到完成, 然而还有一些问题仍未结束, 如 cxterm 所需的中文字
, 在我们之前的设定并没有提到, 只是直接拿来使用, 你当然可以试著执行之前吾人所
示□的 cxterm的命令, 但你会发现系统并找不到适当的字型, 给 cxterm 使用, 这是
为什麽呢?
理由很简单, 在此之前我们并未告诉系统, 中文字型放在哪里啊! 也就是所谓的 Font
Path, 所以在执行 cxterm 之前, 使用者只要先执行
xset +fp tcp/xfs.nthu.edu.tw:7100/all
将中文字型的路径加进 FontPath 中(你可用 xset -q 来查看), 如此一来便可以执行
cxterm 了。
但每次开机後, 都要执行一次, 如此的作为并不理想, 试想: 当我们开机後, 系统便自
动替我们执行, 好像 DOS 的自动执行档 (autoexec.bat) 般, 那不是很好吗? 而若有
的话, 档案名称为何呢? 答案是肯定的, 其档名为
(1) $HOME/.xsession
若没有的话, 预设档为
(2) /usr/lib/X11/xdm/Xsession
所以只要我们在 .xsession 档案中加入
xset +fp tcp/xfs.nthu.edu.tw:7100/all
这一行命令的话, 便可於开机後, 执行 cxterm 了。
除此之外, 也须要在 .xsession 中决定你是要采用那一种 XWM。所以在该档的最後通常
会加上一行命令
fvwm&
用来启动 FVWM 的 XWM。
返回目录
--------------------------------------------------------------------------------
第五章 其他
xterm
-sb 显示「卷轴」
-sl 指定储存的行数
-ls 成为 login shell, 会执行 .login 与 .profile
-e 启动 xterm 後, 直接执行 的命令
xearch
一个不错的动态桌面程式, 喜欢的话, 可将下面的命令加入 .xsession 中, 表示
开机之後便会执行。
xearch &
X Window Manager
除了 FVWM 之外, 尚有许多的 XWM, 如 ctwm, olwm, tvtwm..等, 每一种的 XWM
都有各自的设定档的写法, 及特殊的功能, 都值得各位去玩索。
返回目录
--------------------------------------------------------------------------------
参考资料
(1) 陈子崇等著, "纵横X视窗 入门指引", 和硕科技
--
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: 202.118.244.16]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:203.815毫秒