📄 00000009.htm
字号:
<BR>20.3 有关xdm 的更多 <BR> <BR> 我们在前所述为xdm 的预设模式的操作,所以看起来并没有比xinit 提供 <BR>得更多,如果你使用一个正常的工作站或显示器,一些外貌将不是很有趣。无 <BR>论如何,X终端机(x-terminal)是一个日渐增加的大众化设备,而xdm 可大量 <BR>地简化管理类似的系统。X终端机通常没有它自己的档案系统,且不能支援一 <BR>般目的的程式,必需在网路的某处执行包含视窗管理器和显示管理器的控制终 <BR>端机软体,xdm 正是符合此需要的软体。 <BR> <BR>xdm 在下列这些场合较xinit 为优: <BR> <BR> .它可控制数个server,也暗示说,其中有一些为远方的server,也许是 <BR> 在X终端机或相当小的工作站上。 <BR> <BR> .它提供密码来存取系统,同样地,在X终端机上非常有用(但在一个你 <BR> 已经login 的工作站会有一点困扰。) <BR> <BR> .它提供无限期的X的周期。你可以建构显示器经常性地以X操作,所以 <BR> 使用者毋需担心如何启始系统。 <BR> <BR> .它具有高度的建构性,系统管理者可以设定依机器特性的启始和结束程 <BR> 序,掌握这些项目以供记帐(accounting),授权(authorization) ,档 <BR> 案系统等之用,且能让每一个个别的使用者全□围性地修定他们所需的 <BR> 自己的环境。 <BR> <BR> .从使用者的观点,它提供一个乾净而简单的方法来启动系统。 <BR> <BR> 所以大体上正是符刑要是一个系统管理工具,但它也提供让一个普通使用 <BR>者定制他所希望的一致和一贯地系统架构。 <BR> <BR> xdm 的指南页包含了大量的有关如何使用系统的教学资讯和指引,在此我 <BR>们不再重覆,我们将在以下的章节说明如何正确地建构xdm 以提供在本章一开 <BR>头所描述的环境。 <BR> <BR> xdm 真的非常有弹性,且你可以用许多不同的方式选择设定,我们将使用 <BR> 最简单的处理,并试著大致和指南页的描述保持一致,偶而我们在一些档 <BR>案中使用不同的名称,用以强调此名称并非硬性的规定。 <BR> <BR> 在我们工作的周期中,请对我们事实上在扮演两个不同的角色保持概念: <BR>第一是系统管理者,对於使用系统的任何人来设定xdm ,第二是一般的使用者 <BR>,为我们自己的需求设定xdm 。 <BR> <BR> <BR> 20.3.1 系统管理者对xdm 的建构 <BR> <BR> 预设xdm 先查看档案 <BR> <BR> /usr/lib/X11/xdm/xdm-config <BR> <BR>如果它存在,会把它当成多设定几个其它参数的resource档案。我们将使用它, <BR>因为它可简化我们的工作。 <BR> <BR> 指南页会列出所有你能藉xdm-config档案设定的参数,但我们较有兴趣的有: <BR> <BR> .包含一个server的目录的档案名称。 <BR> <BR> .当任何错误发生时,xdm 用来记录的档案名称。 <BR> <BR> .包含和启始系统有关的档案系统名称。 <BR> <BR> .当server启动後执行程式的名称,这个程式定义了你的”周期” -- 当 <BR> 这个程式中止时,xdm 视其意义为你的周期已结束,且回到它login 时 <BR> 的顺序,预设这个程式为xterm ,就和使用xinit 一样,你的周期持续 <BR> 直到你logout你初始的xterm 。 <BR> <BR> 这是我们已在系统上定义的设定: <BR> <BR> DisplayManager.severs: /usr/lib/X11/xdm/our-server <BR> DisplayManager.errorLogFile: /usr/lib/X11/xdm/errors <BR> DisplayManager*resources: /usr/lib/X11/xdm/our-resources <BR> DisplayManager*session: /usr/lib/X11/xdm/our-session <BR> <BR>(我们已选择保持所有xdm 相关的档案在目录/usr/lib/X11/xdm,这只是代表 <BR>名称,你可以用任何你喜欢的目录。) <BR> <BR> 所以你可以看到我们使用xdm-config,实际上是一个两步骤的处理方法, <BR>首先我们定义在xdm-config中的一些档案名称,接著我们来设定方才命名的档 <BR>案。现在我们来看一下我们在xdm-config中定义的每一个resource。 <BR> <BR>xdm 的server的名单 <BR> <BR> 这个被DisplayManager.servers设定的档案的resources 包含了一个xdm <BR>能管理的server的名单。每一列中包含了server的名称(也就是显示器), <BR>server的型态(type),和型态有关的项目。 <BR> <BR> 型态指出了显示器是本地的或远方的。和是否为无限或单一的周期(详见 <BR>xdm 指南页)。我们将使用型态localTransient -- 单一周期在本地显示器上 <BR> -- 因为以此方式,如果发生任何错误,我们不致於陷入无穷回圈中。稍後, <BR>当我们每件事都设定好且执行无误的话,我们会将型态改为本地而循环的周期。 <BR> <BR> 对本地的显示器而言,和型态相关的讯息是在此显示器上执行的server程 <BR>式的名称及其任何所需的引数。对远方的显示器,此讯息可被忽略,但你仍需 <BR>输入一个假的(dummy) 程式名称。 <BR> <BR> 所以,在我们所建立的档案/usr/lib/xdm/our-servers包含这一行: <BR> <BR> :0 localTransient /usr/bin/X11/X :0 <BR> <BR>(如果我们喜欢执行循环周期,此档案便不再需要 -- 预设设定会做到我们所 <BR>需要的 -- 所以我们在建构档中不需定义DisplayManagers.servers resource。) <BR> <BR>xdm 的错误登录档案 <BR> <BR> 此档案从xdm 和xdm 的周期程式接收所有错误的讯息,且如果你的xdm 设 <BR>定工作发生问题的话,这是第一个需要查看的地方。 <BR> <BR> 当你开始设定你的系用,对此档案设定任何人均可写入,否则,有问题的 <BR>程式可能因没有写入许可而无法在档案中记录。 <BR> <BR>启始时的resource档案 <BR> <BR> 此档案包含一个resource的名单,在Authentication Widget 启始之前被 <BR>xrdb载入。因此,你能用它来为那些widget设定resource。(你当然也能放置 <BR>任何其它的resource规格,但通常周期程式的使用者设定载入时会凌驾其上, <BR>所以通常不把其它的规格放在这里。) <BR> <BR> authentication widget resource的预设设定在某些情况是很细的,但为 <BR>了举例,我们只设定和bunner不同的标题,我们建立我们的档案 <BR> <BR> /usr/bin/X11/xdm/our-resources 包含一行: <BR> <BR>xlogin.Login.greeting:X-Window on the Plants network <BR> <BR>xdm 的"Session(周期)"程式 <BR> <BR> 你可以指定任何程式为你周期中所需的程式,可是当周期结束,你通常选 <BR>择一个程式让你能启始其它的程式,你能依赖xdm 的预设设定执行xterm ,但 <BR>这种方式每当xterm 执行时你仍必需手动所有你的设定。我们需要定义我们的 <BR>周期程式来做所有我们的设定,且保持活动(active)的状态直到我们结束它为 <BR>止,但记住,我们希望使用者如果需要能定义他们自己的周期程式,所以我们 <BR>将使用两阶段的处理,如果是系统管理者,我们将设定一个一般性目的,基础 <BR>的,周期程式来召换一个使用者自己的程式(如果它存在),但其它方面将执 <BR>行一个合理预设。当个别的使用者,我们将定义我们自己的设定周期,它将被 <BR>xdm 的一般目的程式执行(我们在另外一节讨论它)。 <BR> <BR> 我们的基本的site-wide 周期程式非常简单,如果使用者有设定档案 <BR>$HOME/.Xsession 的常规我们便使用之,否则,我们将执行合理的预设 -- 启 <BR>动uwm 而後传递控制到一个xterm(xterm为我们指定在萤幕左上方的那一个) <BR>。但在做之前,我们先检查是否使用者设定了档案$HOME/.Xresources(其它的 <BR>常规),如果有的话,我们用xrdb载入它。一个完整的程式名单如图20-2。 <BR> <BR> ┌——————————————————————┐ <BR> │ FIG 20.2 P.257 │ <BR> │ │ <BR> │ 图20-2 程式/usr/lib/X11/xdm/our-session │ <BR> └——————————————————————┘ <BR> <BR> 20.3.2 我们自己对於xdm 的建构 <BR> <BR> 现在我们改变角色:我们不再是系统管理者,而是一个使用者。我们可以 <BR>依赖系统管理者已定义之预设周期,但我们比较喜欢定义自己的周期,所以我 <BR>们要获取那些说明我们所需的起始设定。 <BR> <BR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -