X Window 系统使用指南--全部放在一起--xdm( 四 )


xrdb载入 。因此 , 你能用它来为那些widget设定resource 。(你当然也能放置
任何其它的resource规格 , 但通常周期程式的使用者设定载入时会凌驾其上 ,
所以通常不把其它的规格放在这里 。)authentication widget resource的预设设定在某些情况是很细的 , 但为
了举例 , 我们只设定和bunner不同的标题 , 我们建立我们的档案/usr/bin/X11/xdm/our-resources 包含一行:xlogin.Login.greeting:X-Window on the Plants network【X Window 系统使用指南--全部放在一起--xdm】xdm 的"Session(周期)"程式你可以指定任何程式为你周期中所需的程式 , 可是当周期结束 , 你通常选
择一个程式让你能启始其它的程式 , 你能依赖xdm 的预设设定执行xterm , 但
这种方式每当xterm 执行时你仍必需手动所有你的设定 。我们需要定义我们的
周期程式来做所有我们的设定 , 且保持活动(active)的状态直到我们结束它为
止 , 但记住 , 我们希望使用者如果需要能定义他们自己的周期程式 , 所以我们
将使用两阶段的处理 , 如果是系统管理者 , 我们将设定一个一般性目的 , 基础
的 , 周期程式来召换一个使用者自己的程式(如果它存在) , 但其它方面将执
行一个合理预设 。当个别的使用者 , 我们将定义我们自己的设定周期 , 它将被
xdm 的一般目的程式执行(我们在另外一节讨论它) 。我们的基本的site-wide 周期程式非常简单 , 如果使用者有设定档案
$HOME/.Xsession 的常规我们便使用之 , 否则 , 我们将执行合理的预设 -- 启
动uwm 而後传递控制到一个xterm(xterm为我们指定在萤幕左上方的那一个)
。但在做之前 , 我们先检查是否使用者设定了档案$HOME/.Xresources(其它的
常规),如果有的话 , 我们用xrdb载入它 。一个完整的程式名单如图20-2 。┌——————————————————————┐
│ FIG 20.2 P.257 │
│ │
│ 图20-2 程式/usr/lib/X11/xdm/our-session │
└——————————————————————┘20.3.2 我们自己对於xdm 的建构现在我们改变角色:我们不再是系统管理者 , 而是一个使用者 。我们可以
依赖系统管理者已定义之预设周期 , 但我们比较喜欢定义自己的周期 , 所以我
们要获取那些说明我们所需的起始设定 。我们的实例.Xsession我们已建立我们自己的$HOME/.Xsession,如图20-3 , 且此萤幕初始的建构
在它执行之後会如图20-4 。此程式的操作十分直接 , 但当你自行设定时有一些
要点需要注意 , 且当你建立site-wide 周期程式也是一样 。我们假设你的周期
程式是一个shell :虽非必定 , 但通常都是(除非你要写一个xetrm 的复杂的
代替品) 。┌——————————————————————┐
│ FIG 20.3 P.258 │
│ │
│ 图20-3 $HOME/.Xsession 程式 │
└——————————————————————┘┌——————————————————————┐
│ FIG 20.4 P.259 │
│ │
│ 图20-4 我们初始化後的萤幕 │
└——————————————————————┘.档案中的命令依序排列 , 所以最後一行所执行的是一个程式 , 它可以持
续整个你的周期 。(因为 , 当此程式结束 , 则周期程式结束 , 且每一件
事也均将结束) 。.除了在背景中最後的命令所有的命令均被执行 , 也就是说 , 在命令列最
後加一个ampersand(&) 号 。如果你不这样做 , 此周期将从不获取过去
的任何不确定地执行的程式 。例如:在我们的实例程式 , 如果我们在uwm
那一行省略"&" 号 , uwm 会启动 , 但在uwm 结束时 , 它的下一行将不会

推荐阅读