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毫秒