发信人: wlf.bbs@cs3.xmu.edu.cn (花眼狼~哀的美敦书), 信区: cnunix
标  题: X  WINDOWS  系统使用指南--(21)
发信站: XMU CS BBS (Fri Jan  2 06:44:10 1998)
转信站: Lilac!ustcnews!ustcnews!sjtunews!xmucs
出  处: cs3.xmu.edu.cn

附录A 文件指引

A.1 本发行版所提供手册

    下面所列有关X的手册被以硬拷贝形式提供, 视为完整 MIT 发行版的一
部分.

    这些手册的文件来源包含於软体磁带中, 且所对应的档案名称注明於括弧
内. 想列印硬拷贝版本, 可以使用 nroff 或 troff, 加上选项 -man表示指南
页 (manpage), -ms选项代表教学 (tutorial) 或其它手册.  对於某些较长的
手册, 被转换成 PostScript 型式的格式化的档案 也包含在其中; 因为它们
长度较长, 所以被压缩, 必须使用 uncompress 解压缩. (假如你尚未解压缩
, 它们应包含在发行版磁带的 $TOP/util/compress, 可按照指示去使用它).

  1. 发行版注意事项, 包括安装指示与本发行版内容的描述. 几乎这里所有的
     内容均被再制作成本书附录B,C与D. ($TOP/doc/releasenotes/*;
     PostScript 在 $TOP/hardcopy/releasenotes.PS).

  2. 程式指南页, 或 "指南页(1)". 来源不只储存在一个地方, 但有其代表
     的程式来源. 在预设安装程序, 它们被安装於系统指南页目录内, 所以
     它们可以用 man 去读取. ($TOP/.../*.man; PostScript 在
     $TOP/hardcopy/man/*.PS.Z)

  3. Xlib 功能的指南页; "指南页(3X11). ($TOP/doc/Xlib/Xman/*).

  4. Toolkit Intrinsics 功能的指南页; "指南页(3Xt). ($TOP/doc/Xt/Xman/*;
     PostScript 在 $TOP/hardcopy/Xt/man.PS.Z).

  5. 由 Scheifler, Getty 与 Newman 所写的一本书 "X WINDOW SYSTEM, C
     Library and Protocol Reference" (Digital Press, 1988), 内容包括 :

     . "Xlib - C language Interface" 手册. ($TOP/doc/Xlib/*; PostScript
       在 $TOP/hardcopy/Xlib).
     . "X Window System Protocol, X Version 11, Release 3" 手册.
       ($TOP/doc/Protocol/).

  6. "X Toolkit Intrinsics" 手册. ($TOP/doc/Xt/*; PostScript 在
      $TOP/hardcopy/Xt/intrin.PS.Z).

  7. "X Toolkit Athena Widgets" 手册. ($TOP/doc/Xaw/; PostScript 在
     $TOP/hardcopy/Xaw/widget.PS.Z).

  8. "Bitmap Distribution Format" 手册. (文件来源是 Scribe 格式, 但
     具有 PostScript 说明, 在 $TOP/doc/bdf/; 完整的 PostScript 在
     $TOP/hardcopy/bdf/bdf.PS.Z).

A.2 包括在本发行版本内的其它文件

  1. 字型命名惯例的描述. ($TOP/doc/fontnames/fnames.txt).

  2. 对不同X功能的小教学程式 :

    . 在你撰写的X程式里使用颜色. ($TOP/doc/tutorials/color.tbl.ms).

    . 转换 X11 第 2 次发行版的widget 为第 3 次发行版.
      ($TOP/doc/tutorials/x10equiv.txt).

    . 使用资源. ($TOP/doc/tutorials/resources.ms).

    . Xlib 函数的 X 版本 10 与版本 11 之对照.
      ($TOP/doc/tutorials/x10equiv.txt).

  3. 安装 MIT server 至不同系统的注意事项.

    . 安装 X V11 Sample Server 的 godzilla 指南 ($top/doc/server/ddx.tbl.ms).

    . X V11 Sample Server 的安装层(Porting Layer)定义
      ($top/doc/server/ddx.tbl.ms).

    . X V11 Sample Server 的安装策略 ($top/doc/server/start.ms).

    . X V11 Server 扩充 ($top/doc/server/ext.doc).

  4. "client 间的通讯惯例手册" (Inter-Client Communication Conventions
      Manual)" 通常以缩写为 ICCCM 来参用. 它应该包含在发行版中的
      $top/doc/conventions/, 但在发行版中有被修订时才会存在否则常被
      省略, 所以你可以透过电子邮件取得一个拷贝 -- 见附录F "X 网路与
      电子邮件服务" 的 xstuff 一节.

  5. 撰写X程式的教学程式, 先教你使用基本的 Xlib 函数, 然後使用 Toolkit.
     ($top/doc/helloworld).

A.3 包括在本发行版本内的其他资讯来源

    对某些项目, 像 widget 的名称, resources 与动作 (action), 你必须
看原始码 :

     . Widget提供给Intrinsics 的部分. ($TOP/lib/Xt/).

     . 在 Athena Set 里的 Widget ($TOP/lib/Xaw/).

     . client 程式的原始程式. 每个 client 的原始程式储存於不同的目录,
       $Top/Clients/Program-name/ 或 $Top/Demos/Program-name/.

=====

附录B 安装X

B.1 安装X的提示

    .尽快地获得所有文件的拷贝,理想的状况是在开始安装系统之前(你可
      以自行将磁带上所包含的档案列印出来,或是由附录E所列的供应商订
      购一份。)

    .首先,对已有的建构档案尽量少做更动,如果你是第一次安装X,我们
      强力推荐你使用预设的目录来安装那些系统的各个不同的部份,只有在
      有确实需要更动目录名称时,才考虑重新安装。(如果你不如此做,当
      有些问题发生时,你将无法知道,它真的是一个问题或你只是安装时犯
      了一个小错误而已)

    .如果你是用这次发行的版本建立一个标准的系统,你几乎不需要做任何
      更动便可完成安装 -- 建构档已正确地被设定。(本版发行的备忘录对
      此有一点误导,你可能会得到一个错误的印象,以为不论你使用什麽系
      统,均需作大量的更动。)

    .当你开始安装,对大多数的系统而言,你不需明确指定系统的型态,它
      的建立是根据C语言的前处理器(preprocessor)来定义系统名称而自动
      找到。

    .在你熟悉core版之前不要安装contrib 软体,因为它安装费时,且易产
      生问题,当你熟悉系统之後,你可能总会修改一些建构参数。

    .如果你真的需要使用不同预设值的建构,阅读文件
      $TOP/util/imake.includes/README 可得到关於如何更动的资讯。(它
      也对工具程式imake 给了一个概观,imake 是一般Unix系统中make的前
      端(front_end) ,用以建立系统)。


B.2 建立本发行版

    在本次发行的软体分为两类:一部份核心软体由X协会标准所提供,另一
部份则任何人都有可能提供,要使得核心软体这一部份能在大多数的地方重新
建构、建立和安装需极大的努力,而那些使用者贡献的部份,也就是说,未经
X协会标准编译和测试的部份只能自行逐一建立,在util/scripts中的ximake.sh
可能对从Imakefiles到建立Makefiles 非常有用。

    几乎所有在核心软体中的makefiles 均自动地由名叫imake 的公用程式所
产生,所有的Makefiles 初始版本均包含了在哪些地方不能使用imake (无疑
地,在特定的机器上需要修正)。在许多系统,X必需以正确的磁带方能建立。
无论如何,它可以藉简单的设定目录util/imake.includes/中的档案site.def
和*.macros中之参数,来重新建构。


B.2.1 安装摘要

    欲载入(load)和安装此次发行的X Window System你将需要:

    1. 读完本次发行的备忘录。

    2. 建一个你读入磁带的目录(通常名称类似/usr/local/src/X或/src/R31)
        你将需要大约30 megabytes给核心软体,和超过80 megabytes给使用
        者贡献软体。

    3. 从步骤2 卸下核心软体磁带,既然使用者贡献软体必须自行建立,你
        可以等到以後载入,每一卷磁带含有一个非常大的Unix的tar 档案,
        以每英□1600位元方式储存。

    4. 阅读档案util/imake.includes/README以了解如何建构你的特定X系
        统。同样地,确定你依照目录server/ddx/ 中README档案来计画建造
        你的server。

    5. 如果你计画在一部以上的机器编译这个版本并且要有一个分类档案系
        统,你可能希望依照util/scripts/lndir.sh 的说明来建立符号连接
        树在每一个目的机器,它允许所有的机器如你所希望的使用X而分享
        一组原始程式,在这种情况下,build tree这个名词被用来当作你编
        译目录树的参考(和含有实际档案的source tree 有所区别)。

    6. 如果你是在A/UX 1.0下建立在 Macintosh之上,确定你是自目录
        server/ddx/macII执行R3 setup.sh 。它从util/cpp中的公益(public
        domain) 原始码建立一个C的前处理器,和修正一些放错位置的系统
        档案。如果你是在一部SUN 上,确定你在档案
        util/imake.includes/Sun.macros的顶端设定了四个OS的参数。如此
        作可防止在不同的SunOS 编译器下的错误。如果你是在Apollo上建立,
        确定你是使用9.7.1 或更後面版本的C编译器,否则,server将无法
        正确地编译。

    7. 确定你已遵循所有和机器特性有关的指示,且imake 也是依你的机器
        而建构。(看source tree 中util/imake.includes/Imake.tmpl顶端
        的#ifdefs 区段(blocks))。

    8. 当你完成了建构,你可以准备建立core版,注意那些在
        util/imake.includes/应用到你的系统的.macros 档案。它们在接近
        顶端有一行设定一个make的变数名称为BOOTSTRAPCFLAGS 。如果这个
        变数值是空白,你可以用下列的命令开始建立:

            % make World > & make.world &

        如果不是空白,你必须将此定义附加到命令列上。这可用imake 对所
        有的编译器设定特定的cpp 符号。(如果你在不同的系统安装,见
        util/imake/imake.c)在所有的core版提供的macro 档案中,只有
        A/UX需要这个旗标:

            % make BOOTSTRAPCFLAGS=-DmacII World >& make.world &

        不要用输出档make.log当作make clean藉著make World移去此名称的
        所有档。这将导致重建所有的Makefiles 和执行make -k all 来编译
        core版中所有的东西。这将依你的机器不同,花掉2 至12小时。

    9. 当make完成後,检讨log 是否有任何问题。必须要没有严重的问题,
        A/UX的使用者可以忽略有关列举型态不调和(enumeration type
        clashes)的编译警告,Applo 的使用者可以忽略最佳化的警告。

    10.如果你对一切均感到满足且建立正确程序,测试一些不同的程式(如
        server, xterm, xinit, etc)。你也许需要在根目录执行 server或
        xterm ,如果你执行上有问题,第二部的工作站或终端机将很有用。

    11.对你旧版的Xheader file, binaries, fonts, libraries 等作备份。

    12.到build tree顶端并键入

            % make install >& make.install

        你将不是在根目录做便是在熟悉的目录写入存取(看Imakefile 最上
        阶层和util/imake.includes/Imake.tmpl)。xterm 程式在大多数的
        系统必需安装setuid到根目录,xload 程式必需安装setguid 到那些
        属於/dev/kmem 的档案。

    13.如果你要安装指南页,在build tree顶端键入

            % make install.man

    14.如果你要建立和安装lint libraries,在build tree的顶端输入:

            % make install.ln

        如果你是第一次安装X,你可能也需要作以下的步骤。检查一下在
        server/ddx目录中不同的README档案中附加的指示。

    15.加入装置驱动器或重新建构你的核心(kernel)。

    16.建立附加的虚拟终端机(pseudo terminals)。查看你的操作系统说明
        /dev/MAKEDEV和问你的系统管理者细节部份。

    17.阅读有关新的显示管理器xdm 的指南页,这个程式提供了一个可携的
        自动执行X的方法,和许多为了初学者所建立非常好的介面符号。这
        取代了原先自/etc/init 执行的终端机模拟器xterm 。

    18.确定所有的X11 的使用者在他们的搜寻路径中均为BINDIR的目录(通
        常为/usr/bin/X11)。


B.2.2 操作系统需求

    X受欢迎的理由之一为和操作系统无关。虽然我们讨论的□例均为在Unix
系统下,但有许多非Unix操作系统的制造厂商也提供X。本次发行的Server已
在下列系统建立:

          4.3+tahoe
          Ultrix 3.0 FT2(Ultrix 2.0)
          SunOS 3.4
          HP-UX 6.01
          Apollo Domain/IX 9.7
          IBM AOS 4.3
          A/UX 1.0

    如果你使用较早的版本,你可能招致一些麻烦,特别是,server将无法在
IBM 4.2A第二次发行版执行。在server/ddx/ 中不同的README档案描述了对编
译器、函数馆、前处理器等等的特定需求。例如前述的A/UX 1.0的使用者将需
要建立一个新版的C前处理器,而Apollo的使用者将需要9.7.1版的C编译器。

    你应在使用X前先确定你的网路系统和相互通讯公用程式作用正常。如果
像talk和rlogin这样的程式无法工作,X大概也不行。


B.2.3 读取本发行版的磁带

    本发行版可以用电子媒体的方式从DARPA 交换网路、UUNET 计画、一些谘
询公司和不同的UUCP的档案库。尤有进者,MIT 软体发行中心提供了一组2400
□的1600BPI 密度的磁带。(该中心不提供卡带或磁碟片)

    每一卷MIT 的磁带包含有一个大的tar 目录结构,内含发行版一部份的软
体的原始码和文件。如果你受限於磁碟机的空间,你可以只下载core磁带,删
除任何你不需要的server,和产生一份使用者贡献磁带的目录以供以後查询,
所有的档案名称均以相对路径方式给定(在开头以一个点替代斜线),所以这
个发行版可放在你的档案系统的任何地方。

    在读取磁带之前,确定你有足够的磁碟空间,以下为你对每卷磁带所需的
空间。

    版名        内容                        megabytes     情况
    core        servers,函数馆,公用程式       35         必需
    contrib-1   程式,示□程式,字型           36         推荐使用
    contrib-2   使用者贡献的工具               34         推荐使用

    编译过的程式估计需要二分之一到三分之二原始码所占的空间,所以,光
是core版你便需要大约60 megabytes的磁碟空间。

    建立一个目录用以放置所有的原始码,在此目录中,执行适当的作业系统
命令来读取core版磁带。如果你的机器预设tar 为读取1600 BPI的磁带,则你
键入的指令将类似:

        % mkdir /usr/local/scr/X
        % cd    /usr/local/scr/X
        % tar x

必要时可向你的系统管理者取得协助。


B.2.4 使用符号连结(Symbolic Link)

    本发行版在处理使用连结(Symbolic由机器所支援)避免档案重覆(大多
的header file ),如果你在未提供建构档案情况下建立本发行版,你必须在
适当的util/imake.includes/*.macros档案检查LN建构参数。如果你的作业系
统不提供软体连结,LN需被设定为建立硬体连结(hard link) 或拷贝原始档。

    如果你需要在建立後将本发行版移动到其它的机器,用tar 替代CP或rcp
以保留日期和连结,通常可用下列的命令达成:

        % (chdir/usr/local/src/X;tar cf - .) | \
          rsh othermachine "(chdir/moredisk/X; tar xpBf -)"

    可向你的系统管理者获得协助。


B.2.5 建构本发行版

    这个发行版广□使用 imake 公用程式, 它可从机器相关的 (machine-
independent)Imakefiles 产生机器特有的 (machine-specific) Makefiles.
另一个叫做 makedepend 的公用程式,  是用於产生C语言档案的 Makefile 相
关性 (dependencies). 假如你不在乎可携性 (portability), 虽然我们强烈地
鼓励你去使用imake 与 makedepend, 但是仍提供有样本 makefiles.

    imake 的建构档被置於 util/imake.includes 目录. makefiles 是由一个
称做imake.tmpl 的模板 (template)档、一个机器特有的 .macros 档与一个
site 特有的 site.def 档所产生. 只有极少例外, 建构参数为 cpp 符号, 它可
以被定义於一个 per-server 基础上或在一个给定 site 里的所有 server.  模
板档案不应该被修改.

    util/imale.includes/README 档案每一个建构参数以及它可以设定的值.
预设值的选择是考量可适用於多种机器且易於维护. site 特有的建构应在
sit.def 档案内使用下列语法描述 :

        #ifndef BuildParameter
        #define BuildParameter site-specific-value
        #endif


B.2.6 编译本发行版

    建构参数设定後, 你应该可以在构造树 (build tree) 的最上层利用下列
命令以编译core 软体 :

        % make World > &make.world &

    若在建立过程, 将 make.log 这个特殊档案删除, 则请不要将输出重导
(redirect) 到make.log。依照使用机器的不同, 这个步骤将花费 2 - 12 小
时, 且在大多数的机器上皆能顺利完成。

    在所有 Makefiles 与相关性都建好之後, 你必须重新启动以便使你的构
造 (build) 发生作用, 请在构造树的最上层输入下列命令:

        %make -k > &make.out &

假如你以後决定改变任何建构参数, 你将需要作另一个完整的 make World.


B.2.7 安装发行版

    假如每一个编译皆成功, 你可以输入下列命令, 从建造树最上层安装软体:

        # make install

    假如你不想安装在根目录, 你必须建一些可写入的目录并从你的帐号
(account) 安装它们, 然後检查在 BINDIR 目录 (通常是 /USR/BIN/X11) 内
的 xterm 与 xload 的所有权(ownership) 与保护模式 (protection). xterm
必须安装 setuid 至根目录以便它能设定虚拟终端机与更新/etc/utmp. xload
需被 setuid 至根目录, 或 setgid 至拥有档案 /dev/kmem 的目录以使它们
可以取得系统的平均负载.

    假如你的 /etc/termcap 与 /user/lib/terminfo 资料库没有 xterm 的
入口 (entry),可参考在 client/xterm 目录内的样本入口. System V 的使用
者将需要用 tic公用程式编译 terminfo 入口.

    假如你计划使用 xinit 程式去执行X, 你可能会想产生一个将指名的X
指到适当server 程式的连结 (link) (通常的名称像 /usr/bin/x11/ 目录里
的 Xmachine). 然而,xinit 不打算给初学者使用; 取而代之, site 管理者被
期望能使用 xdm 或提供友善的使用介面.

    假如你想安装指南页, 请检查在 util/imake.includes/ 里的
MamDirectoryRoot、ManDir 与 LibManDir 三个建构参数, 并在构造树的最上
层输入:

        # make install.man

    假如你喜欢建立与安装 lint 程式库, 在构造树的最上层输入下列命令:

        # make install.ln

    最後, 确定所有使用者在它们的 PATH 环境变数都有 BINDIR (通常是
/usr/bin/x11/).


B.2.8 kernel 与特殊档案的注意事项

    在某些机器上, 如果有一个新的装置驱动器则必须重建 kernel 或至少经
过重新建构, 假如你以前从未执行X且使用一个没有列在这些注意事项内的系
统, 你可能需要确定在你的 kernel 建构档案里的 csr位址能与你的硬体相匹
配. 另外, 你应该确定在系统启动时 kernel 会自动建构显示器.

    你可能需要为你的显示器、滑鼠或键盘建立特殊的装置. 例如:

        # /etc/mknod/dev/bell c 12 2     # for bell on Sun
        # MAKEDEV displays               # for displays on the RT/PC

    在显示器装置档上的保护模式应该被设定成只有 server 可以开启它. 假
如 server是以 /etc/init启动, 这个保护可以被根读/写, 任何其他的人不能
存取.

    在一个 Digital QVSS (VAXstation II) 上, 你应该使用 adb 去确定
kernel 变数qv-def-scrn 被设定为 2, 以便使用 VR-260 监视器的整个宽度.
这可以藉著直接地改变/vmunix 或 /sys/vaxuba/qv.o 并重新连结与安装
kernel 来达成. 你将需要 reboot 使新值发生作用.

    更详细的资料请看 Server/ddx/ 目录里对应的 README 档与指南页.


B.2.9 测试本发行版

    即使你计划在所有时间都使用 xdm 执行X, 你也应该要从另一个终端机执
行它, 以便检查每个你所安装部份的是否已被安装且正常工作.

    来自 server 的错误讯息将会显示在你的终端机, 而不是被写到
xdm-errors 或/usr/adm/X?msgs ('?' 是显示器的号码).

    测试 server 最简单的方法是先进入 /usr/bin/x11 (或任何你已安装 X
程式的地方)然後执行 xinit, 如下:

        % cd/usr/bin/X11
        % xinit

    你应该可以看到一个灰色的带状图样覆盖萤幕、一个形状像 "X" 的游标追
踪著指标以及一个终端机模拟视窗. 否则请按下列方式检查 :

1. 假如没有显示出灰色萤幕背景, 检查是否有在 server/ddx/ 子目录内的
   README 里描述的任何特殊装置档案的许可 (通常是储存在 /dev/).

2. 假如背景出现, 但游标仍是白色方形. 请确定字型是否已安装 (特别是
   usr/lib/X11/fonts/misc/ 里的字型 cursor.snf; 见建构参数
   DefaultFontPath). 并确定在你的每一个字型目录都有一个档案叫做font.dir.
   这个档案是由 mkfontdir 程式产生的, 被 server 用於找出一个目录里的字型.

3. 假如游标出现但不追踪指标, 请确定任何特定装置档案 (它的名称像
   /dev/mouse) 已被安装 (见 server 的 README 档).

4. 假如 SERVER 启动且不久之後变成黑色, 表示启始的 client (xterm 或
   xdm) 当掉了.请确定 xterm 安装於根目录并建立足够的虚拟终端机. 假
   如你正执行 xinit, 且在你的home 目录一个有叫做 .xinitrc 的档案,
   确定它是可执行的而且上一个它所启动的程式在前景执行 (亦即命令列尾
   端没有一个 & 符号). 否则, .xinitrc 将立刻完成, 这也是 xinit 所
   假设的以及你所想要的. 只要你有正确工作的初始视窗, 试著从 xterm 执
   行其他的程式. 若想用 uwm 视窗管理器定位一个新视窗, 可在闪动的方框
   出现时按下按钮 1 (通常在指标器的最左边按钮) :

        % xlock -g 200x200-0+0 &
        % uwm &
        % xlogo &
        % xeyes &
        ...

    X现在可以被使用了, 研读一个新程式的指南页, 看看新字型, 你会从中
得到乐趣.


B.2.10 建立额外的虚拟终端机

    因为每个 xterm 需要一个不同的虚拟终端机, 所以你应该建很多给它们
(在一个小型多使用者系统你可能至少要 32 个). 每个 ptr 有两个装置, 一
个主控 (master) 与一个从属(slave), 它们通常叫做 /dev/tty/[pqrstu][0-f]
与 /dev/pty[pqrstu][0-f]. 假如你没有最少的 "p" 与 "q" 列建构, 你应该
要求你的系统管理者加上它们. 这通常是以 /dev里执行的 MAKEDEV script来
完成:

        # cd/dev
        # ./MAKEDEV pty0
        # ./MAKEDEV pty1


B.2.11 从 /etc/rc 启动X

    本发行版提供一个可以从系统启动档 /etc/rc 执行X server 的新公用
程式叫做 xdm,它提供一个不同於从 /etc/init 执行X 的可携式与吸引人的
方式. 设计时考虑到可以很容易地裁剪以应不同工作站的需求, xdm 小心地
保持 server 的执行, 提示输入使用者名字与密码并管理使用者的session.
样本建构目前使用 shell script, 以提供相当简单的环境. 这也将是未来发
行版继续研究的地方.

    xdm 弹性的关键是它广泛使用resource, 允许 site 管理者快速与容易地
测试不同的设定(setup). 当 xdm 启动, 它读入一个建构档 (预设是
/usr/lib/X11/xdm/xdm-config 但可以用命令列旗标指定-config) 列出不同的
资料档、预设参数以及启动与关机时会被执行的程式. 因为它使用标准的
Toolkit resource档案格式, 任何可以在 xdm-config 档设定的参数也可以在命
令列使用 -xrm 选项指定.

    预设建构包含下面所列:

        DisplayManager.servers:         /use/lib/X11/Xservers
        DisplayManager.errorLogFile:    /use/lib/X11/Xdm-errors
        DisplayManager*resources:       /use/lib/X11/Xresources
        DisplayManager*startup:         /use/lib/X11/Xstartup
        DisplayManager*session:         /use/lib/X11/Xsession
        DisplayManager*reset:           /use/lib/X11/Xreset

    server 档包含要启动的 server 列表. errorLogFile 是 xdm 输出被重
导的档案.resources 档包含 xdm Login 视窗预设的resource. 特别的地方是
特殊键的顺序可以被指定 (在 xlogin*login.translation resource), startup
档应该是一个程式或可执行的 script, 它可以在使用者打入合理的密码之後执行
 它是一个作 site 特有的初始化, logging 等的圈套 (hook). session 入口是
用於启动使用环境的一个 session 管理程式或可执行script 的名称. 假如使用者
在他的 home 目录内没有一个可执行的 .xsession 档, 有一个简单的版本可提
供一个简单的 xterm 视窗与 uwm 视窗管理器. 最後, 在使用者 logout之後一
个 reset 程式或可执行的 script 会被执行. 使用预设建构执行 xdm, 加入下列
一行到你的 boot 档 (通常叫做 /etc/rc 或 /etc/rc.local) :

        /usr/bin/X11/xdm &

毫无疑问地, 大多数的 site 想建立它们自己的建构. 我们建议你们将 site
特有的xdm-config 档与其它的 xdm 档放在不同的目录, 这样才不会被某些作
了一个 makeinstall 的人盖掉. 假如你将档案储存在 /usr/local/lib/xdm,
下面的命令可用於以启动xdm :

     /usr/bin/X11/xdm -config /usr/local/lib/xdm-config &

    许多 server 在假设它们是尝试读取键盘的唯一程式下, 将键盘设定成非
阻断式 I/O(non-blocking I/O). 不幸地, 某些 /etc/getty 的版本 (特别是
A/UX) 将立刻看到一个零长度读取的连续 stream, 因为将它解释成 EOF 档尾
指示. 最後 /etc/init 将取消login, 一直到某人打入下列命令:

        # kill -HUP 1

在 A/UX 下, 一个变通的方法是禁止从控制台 login 且从 /etc/inittab 去
执行 xdm.然而, 请确定你存有一个旧的 /etc/inittab 拷贝以备你在出错状
况以及你必须从网路上或单使用者模式恢复 login 的时候使用.

    另一个较少为人彻底研究的是如何设定一个帐号 (account), 它的 shell
是在client/xdm/里的 xdmshell 程式. 预设状况下这个程式不会被安装, 所以
site 管理者需要特别查看它是否符合需求. xdmshell 公用程式确定它执行於
适当的终端机型式、启动 xdm、等待它完成与重置控制台 (如果需要的话).假
如 xdm resource档包含一个终止-显示器 (abort-display) 动作的系结, 就像
下列命令 :

        xlogin*login.translations: #override Ctrl<Key>R: abort-display()

然後在 xdm login 视窗按下指定键 (上例是 <Ctrl-R>) 控制台即可以被恢复.

    xdmshell 程式通常安装在根目录, 但仅能被特殊群体的一份子执行, 如
此以 xdmshell作为 shell 的帐号 (account) 的人是唯一的一份子:

        % grep xdm  /etc/passwd
        X:aB9i7vhDVa82z:101:51:Acount for starting up X: (contd.)
        /tmp:/etc/xdmshell
        % grep 51 /etc/group
        xdmgrp:*:51:
        % ls -g /etc/xdmshell
        -rws--x--- 1 root xdmgrp 20338 Nov 1 01:32 /etc/xdmshell

    假如 xdm resource不曾有一个键系结至 abort-display() 动作的建构,
一般使用者将没有方法可直接 login 到控制台. 至於是否需要则视个别的
site 而定.


B.2.12 支援老旧系统 -- 从 /etc/init 启动X

警告 : 下面所提供的适合较老的系统且在未来的发行版将不提供.

    Ultrix 与 4.3bsd 使用 /etc/ttys 建构档的一个新的扩充格式, 它允许
你指定一个视窗系统与初始时被执行的程式. 虽然一般人比较喜欢使用 xdm,
但系统仍然提供可在 xterm里启动X与一个从 /etc/ttys 初始的 xterm 视窗.

建立 ttyv 终端机

    因为大多数的 /etc/init 版本需要给每个 /etc/ttys 的入口一个真实终
端列, 所以你必须给每一个显示器指定一个虚拟终端机. 虽然正常状态下xterm
动态地配置一个 pty, 但是 -L 选项可以强迫它使用从 /etc/init 传过来的虚
拟终端机.

    依照协议, 具有最高的 "小装置 (minor device) 号码" 被改名成
[pt]tyv0, 次高的被改为 [pt]tyv1, 依此类推. 最高的被改为最低的, 可使
他们不以正常从低至高的搜寻方法 (大多数程式配置一个 pty 的方法) 取得
 在仅有 "p" 与 "q" 的小系统, 下面的命令可用以将两个显示器设定成"v"
终端机.

     # cd /dev
     # mv ttyqf ttyv0; mv ptyqf ptyv0
     # mv ttyqe ttyv1; mv ptyqf ptyv1

见你的系统管理者可以获得帮助.

增加视窗进入口到 /etc/ttys

    只要你已经改变虚拟终端机的名称, 你就能为它们在 /etc/ttys 增加入口
 再次提醒这个仅对具有以新的 4.3bsd 格式启动视窗系统的系统, 不能用在
使用 4.2bsd 小进入口格式与 /etc/ttytype 的较老系统上. 假如你的系统没
有新的格式, 将 ttyv 的与 ptyv 的改为原名并跳到下一部分.

    xserver 指南页里包含关於设定 /etc/ttys 进入口的更详细叙述. 通常
, ttyv 被置於档案的底部且类似下列:

        ttyv0"/usr/bin/X11/xterm -L -grometry 80x24+0+0 -display :0" (contd.)
        xterm off window="/usr/bin/X11/X :0"

    注意, 它不像 X10, 给 X server 命令的 server 号码之引数必须在前面
置一个冒号. 额外的命令列选项可以在 xterm 命令列或X命令列指定. 然而,
许多 init 的版本具有相当小的程式名称缓冲区, 限制了入口的长度. 也有某
些版本不允许在入口里有 pound记号, 意谓著不能给任意数目的颜色指定, 这
也是为什麽会写 xdm 的原因.

    只要你曾经增加或改变任何入口, 你必须送信号给 init, 告诉它重读 /etc/ttys
与重新启动. 在根目录下打入下列命令即可以达到这个目的:

        # kill -HUP 1

这将会中止在重新启动前任何改变列上的任何存在的处理 (process), 所以它
应该仅能由系统管理者去执行.

=====

附录C  本发行版的内容 -- MIT Core Distribution

    本文件是从 MIT 发行版内的原始资料再制作而来的.

    本发行版含有大约 100 Mbytes 的原始码与文件. 因为没有人会对它的全
部内容都感兴趣, 所以本发行版被分为大致相等的三个部分: Core 软体(核心
软体)、不同使用者贡献的工具集和使用者贡献的其他软体.

C.1 核心版

    这核心版, 包含大约 30 Mbytes 由X协会成员所支援的软体, 它是由下
面所列的目录所架构起来的. 假如你发现该版中某个部分有错误 (bug), 请填
妥位於doc/bugs/bug-report 的表格, 并邮递至 xbugs@expo.lcs.mit.edu.

  ./ 包含重要通知、一般的X指南页与所有构成该发行版子目录的最上层目录.

  X11/ 所有公用的引头档 (header file) 不是储存於此就是在建立系统的各
      阶段时被连结. 本目录与其下的位元图像 (bitmaps) 在安装阶段被拷
      贝至 incdir架构参考所指定的目录 (预设为 /usr/include/x11).  注
      意最後的目录名称应该是 X11, 否则所有X程式在编译时将会出错.

  X11/Bitmaps/ 本目录内包含一些以 Bitmaps 格式储存 (可用 Xlib 的常式
      XReadBitmapFile, XmuReadBitmapDataFromFile 与 XWrite BitmapFile
      处理者) 的一些单平面影像. 在 C 程式中它们通常被以 #include 引入
      且使用 xsetroot 公用程式被当作背景磁砖 (background tiles) ,而且
      X工具集 (toolkit) 允许使用者指定目录内的档名作为游标与表徵图.
      详细资讯请参考 bitmap 的指南页与util/bm-convert/bm-convert.doc.

  clients/ 本目录是使用者程式来源树 (source tree) 的最上层. 其他一些
      程式则存於 domos/ 与 examples/ 树,原因为它们只是为了示□目的而
      已. 其他一些非常有用的使用者贡献程式可在 coutrib/clients/ 下找
      到.

  clients/bitmap/ 本目录包含建立与修改单平面位元映成影像 (就像储存於
      X11/bitmaps/ 的一样) 的编辑器. 可用於定义双色磁砖 (为了用stipple
      填满区域) 与遮罩 (为剪除与指定游标影像). 所有resource皆可以
      用命令列与预设方式指定. 两个新的程式bmtoa 与 atoma 已经被加入,
      它们用於转换位元影像档案成为简单的字串及简单字串转换成映像档案.

  clients/uwm/ 本目录包含一个较老的X视窗管理器. 一些错误已更正且增加
      了一些新功能.

  clients/x10tox11/ 本目录包含一个重写过的 X10 至 X11 的通讯协定转译
      器. 它充当X10 Server, 转换 X10 的 request 为 X11 的 request 以
      及 X11 的 event 为 X10 event. X10toX11 程式允许 X10 程式不经修
      改即可在 X11 server 上执行, 使得从 X10 转换成 X11 非常容易, 新
      版本实质上会比旧版本有更快更精确的结果.

  clients/xbiff/ 本目录包含一个简单的小程式, 它会在你有新邮件送达时,
      在邮箱上显示一个竖起的旗帜, 它使用 athena widget set 里的 Mailbox
      (邮箱) Widget.

  clients/xcale/ 本目录内包含一个可以模拟 TI-30、HP-10 与计算尺的桌上
      型计算器程式. 这个程式需要被重新改写.

  clients/xcliphoard/ 本目录内包含两个程式用以处理段落. xclipboard 搜
      集来自其他 client (见 xterm 与 Athena Text widget) 的文字将它们
      送至 CLIP-BOARD, xcutsel 提供介於只能处理剪一缓冲区的旧 client
      与使用段落的新 client 之间的桥梁.

  clients/xclock/ 本目录内含有一个可显示时钟的简单小程式. 它可以显示
      指针或数字型时间, 它使用 Athena Widget Set 里的 Clock Widget.

  clients/xdm/ 本目录内包含新的显示管理器 (Display Mamager). 它企图取
      代 xterm-L与大多数使用 xinit 的场合. 位置管理者应该研读文件与样
      本架构以裁剪 xdm 配合它们的特殊环境. 一些样本架构提供於 config
      子目录下面.

  clients/xdpyinfo/ 本目录包含一个可以列印有关显示器的视觉影像与
      萤幕的资讯的公用程式.

  clients/xedit/ 本目录包含一个建立於 Athena Text widget 与 X Toolkit
      之上的文字编辑器.

  clients/xev/ 本目录包含一个可以检查 event 内容以及它们如何产生的程式.

  clients/xfd/ 本目录包含一个可显示指定字型的字元之公用程式.

  clients/xhost/ 本目录包含一个以主机为基础 (host-basis) 控制存取主机
      显示器的公用程式.

  clients/xinit/ 本目录包含一个可以在无法从 /etc/init 启动一个X server
      与初始化一个 client 的系统上, 启动X server 与初始化 client (通
      常是一个终端机模拟器) 的公用程式.

  clients/xkill/ 本目录包含一个公用程式可除去不要的视窗.

  clients/xload/ 本目录包含一个可监视机器平均负载状况的程式. 它可以显
      示最近一段期间平均负载的柱状图, 通常用於监视网路上的机器. 它使
      用 Athena widget set 里的 Load widget, 假如你将X转移至一个新
      的作业系统时, 它须要作些修改.

  clients/xlogo/ 本目录包含一个使用 Athena widget set 里的 Logo widget
      显示 X视窗系统语标 (Logo) 的程式.

  clients/xlsfonts/ 本目录包含一个可以列印目前 server 可供使用的字型
      之公用程式.假如你要求从具有许多压缩字型的 server 作较长的列印,
      你的显示可能会暂停一段较长的时间.

  clients/xlswins/ 本目录包含一个可列印出显示器上的视窗的公用程式.
      在找出一个因某种原因而忽然在萤幕上消失之视窗时非常有用.

  clients/xmag/ 本目录包含一个当你在侦错图形时, 可以放大部分显示的公
      用程式. 如果萤幕上同时有超过一种型式的视像, 可能无法达成目的.

  clients/xman/ 本目录包含一个可以显示指南页的公用程式. 加上少量的修
      改可以模拟本地作业系统的 man 程式.

  clients/xmh/ 本目录包含一个与 MH 邮件处理系统的视像介面. 它扩展X
      Toolkit 与Athena widget set 的使用.

  clients/xmodmap/ 本目录包含一个可以显示更改的键盘、修正器或指标图
      . 它会读取一个包含命令的 script 档且通常在你登录或第一次启动X
      时执行.

  clients/xpr/ 本目录包含一个可列印由 xwd 所获得的萤幕倾印影像的公用
      程式.

  clients/xprop/ 本目录包含一个可检查一个特定视窗特性的公用程式.

  clients/xpseudoroot/ 本目录包含一个在 Inter-Client 通讯惯例手册
      (ICCCM) 的前一版本所描述的原型程式. 它只供实验用且承诺在最终的
      ICCCM 规格被发展时予以修正.

  clients/xrdb/ 本目录包含一个可载入使用者指定的预设resource定义给
      server 的公用程式, 它通常是在 login 或第一次启动 X 时被执行.

  clients/xrefresh/ 本目录包含一个可刷新全部萤幕的一个简便公用程式.

  clients/xset/ 本目录包含一个可设定按键声音、指标加速度等个人喜好特
      性之公用程式.它现在提供从字型路径增加与删除进入点的功能.

  clients/xsetroot/ 本目录包含一个可设定根视窗背景的公用程式.

  clients/xterm/ 本目录包含一个 VT102 与 Tektronix 4014 终端机模拟器
      程式. 先前版本的许许多多错误都已修正. VT102 模式现在可以使用X
      Toolkit 转换管理器(使任意重系结按键成为可能)、选择区 (selection)
      (见 xclipboard 与 xcutsel)与正确地设定它的处理群 (process group).

  clients/xwd/ 本目录包含一个可以倾印视窗影像的公用程式. 它通常是将
      一个视窗快拍以便列印或稍後使用 xwud 程式显示, 对某些使用 XY 格
      式影像的 server 仍有问题, 且执行时大都相当慢.

  clients/xwininfo/ 本目录包含一个可以检查各种不同的视窗属性 (像大小
      、位置、视窗管理器资讯等) 的公用程式. 它常与 xprop 合用, 用以
      检查视窗的阶层架构.

  clients/xwud/ 本目录包含一个可以显示先前用 xwd 建立的影像之公用程式.

  demos/ 本目录包含许多看来非常有趣, 但不常用的程式.

  demos/ico/ 本目录包含一个可以让一个多边型物体绕著萤幕滚动的精巧程式.

  demos/maze/ 本目录包含一个相当吸引人的解迷宫示□程式.

  demos/muncher, demos/plaid/ 目录包含一个可以画可爱图画的程式.

  demos/puzzle/ 本目录包含一个为 X11 设计的 "重排磁砖" 的益智游戏. 假
      如你有彩色显示器, 试著在它建立时的目录执行 puzzle -picture mandrill.cm.

  demos/xeyes/ 本目录包含一个在 SIGGRAPH'88 看到的一个 NEWs demo 所
      启发出的吸引人的程式.

  doc/ 本目录包含描述标准版本的所有文件. 不同 client 的指南页可以在
      个别的原始程式目录里找到.

  doc/HelloWorld/ 本目录包含 DavidRosenthal's USENIX'88 Hello, World
      关於使用toolkit 的文章.

  doc/Protocol/ 本目录包含X通讯协定的正式公认规格, 里面说明了甚麽是
      与甚麽不是X的通讯协定部分以及那一部分是X标准的最後根据.

  doc/Server/ 本目录包含将XServer 植入新工作台的许多指南.

  doc/Xaw/ 本目录包含对 Athena Widget Set 的一个指南.

  doc/Xlib/ 本目录包含 Xlib 程式规划指南与指南页的原始资料. 其中有一
      个未测试过的命令列程序叫做 doc/Xlib/Xman/ expand.names, 它会将
      指南页更改名称使其与它所描述的常式 (routines) 名称匹配.

  doc/Xt/ 本目录包含X Toolkit Intrinsics 的规格说明. Inrinsics 现在
      已经是X标准的一部分; 任何供应 Xlib 的供应商也大都会供应 Xt.

  doc/bdf/ 本目录包含一个描述字型的位元映像分布格式 (Bitmap
      Distribution Format). BDF 已是 X 标准的一部分; 所有的 server 供
      应商也大都会提供一个程式, 可以转换该格式至任何他们所喜欢的内部
      格式.

  doc/bugs/ 本目录包含一个可提供错误报告的模板(见 doc/bugs/bug-report).
      当使用xbug@expo.lcs.mit.edu 报告错误时时请使用这个格式.

  doc/extensions/ 本目录包含 core 通讯协定基础程式库可能扩充的文件.
      它目前包含已提出的 PEX 3D 图形扩充与一个输入综合 (INPUT
      SYNTHESIS) 扩充.

  doc/fontnames/ 本目录包含一个经过X协会评估的字型命名草案的规格.
      这是对 AdobeSystem Inc.、Digital Equipment Corporation 与
      Bitstream Inc. 所赠送的字型命名时所使用的格式.

  doc/releasnotes/ 本目录内包含目前你看的这份文件的原始资料.

  doc/tutorials/ 本目录内包含评论如何使用X视窗系统的特别麻烦的部分.
      且欢迎使用者多提供.

  examples/ 本目录内包含不属於任何其他地方的不同例子.

  examples/CLX 本目录内包含如何使用 CLX (Common Lisp X) 介面的一些样
      本例子.

  examples/Xaw 本目录内包含可以测出不同 Athena widget 的一些小程式.

  extensions/ 本目录树内包含一些 SERVER 扩充样本的原始码: 一个绘出
      request(bezier) 的云形规、一个在X里使用生动视像的程式集 (
      plxvideo)、为了作输入记录与综合的一个扩充的开始 (xtest) 与一
      个梯形绘出要求 (zoid).

  extensions/include/ 本目录包含扩充样本的标头档.

  extensions/lib/ 本目录包含 client 程式库常式用以和扩充程式集通讯.

  extensions/server/ 本目录包含用以撰写扩充功能 server 的常式.

  extensions/test/ 本目录包含一些用以测试扩充功能的□例.

  fonts/ 本目录树内包含可以给不同的公用程式产生与处理字型档的原始资料
      . 使用者贡献的版本有一个不同的转换器用以转换不同格式的字型成为
      BDF 格式.

  fonts/bdf/ 本目录内包含经过仔细选择的字型之原始资料. 从这个发行版开
      始, 给定字型名称的长度与具有别名与通用字型名称的能力, 对组织字
      型到目录是相当重要的. 就像 BDF 格式现在已是X标准的部分, 所有
      server 的供应商被期待提供可以转换 BDF 档成他们的 server 可以接
      受的适当包装字型格式的编译器. 预设状况是 sample server 将具有
      在这里介绍的所有三个字型目录. 假如主显示器的解析度小於每英□
      88 点, 75 dpi 字型将较 100 dpi 字型在路径上优先. 否则 100 dpi
      字型出现在字型路径的最前面.

  fonts/dbf/misc/ 本目录包含前一发行版本的游标与固定宽度字型.

  fonts/bdf/75bpi/ 本目录内包含由 Adobe System Inc. 与 DEC 以及
      Bitstream, inc.为每英□ 75 点的监视器所设计提供的字型. 这些字
      型遵照新的字型命名惯例; 多数使用者将想要去学习如何适当地使用通
      用字元 (wildcard).

  fonts/bdf/100bpi/ 本目录内包含为每英□ 100 点的监视器所设计的 75
      dpi 字型版本.某些家族在这种解析度下无法及时备妥.

  fonts/bdftosnf/ 本目录内包含用以编译 BDF 格式的字型成为由 sample
      server 所使用的已被压缩的 Server Natural Format 的格式.

  fonts/mkfontdir/ 本目录内包含在建立字型资料库时 server 用以映成字
      型名称至对应档案的新公用程式. 无论何时字型被增加或移出目录, 这
      个程式必须在该目录内执行以便重建资料库.

  lib/ 本目录包含标准版本内所有主要的程式库.

  lib/CLX/ 本目录包含 CLX common Lisp X程式集. 这是一个本国的 Common
      Lisp 与X通讯协定的介面 (也就是说,它不使用 Xlib), 它将会被X
      协会审核, 因为考虑它将纳入X标准中.

  lib/X/ 本目录内包含 Xlib C 语言程式的程式库. 这个程式集所提供的介
      面是X标准的一部分 (亦即任何供应商提供任何 C 介面为了叫用它的
      产品X也必须提供 Xlib).供应商可以自由的去改变它的内部, 但介面
      必须保持相同. 自从上一个发行版发行以来一些新的常式已被加入以提
      供存取不透明的资料结构元素.

  lib/X/sysV/ 本目录内包含一个使 Xlib 可工作於 System V-based 机
      器的常式.

  lib/X/mips/ 本目录内包含一个使 Xlib 可工作於由 Mips Computer
      System 制造的工作台的常式.

  lib/Xaw/ 本目录内包含 Athena widget set. 它是一个逐渐搜集使用者介
      面实体的开始,建於 X Toolkit Intrinsics 的顶端. Widget 是用於建
      立高阶应用 (higher level), 且理想地应该尽可能地提供较多的机构
      与较少的政策. (使用者介面工具集、使用者介面管理系统与从应用至
      撰写). 一个由 HP 发展的较完整集合可以在使用者贡献版本中找到,
      (不幸的, 它还无法植入 R3 标准的 X Toolkit Intrinsics).

  lib/Xmu/ 本目录内包含一个搜集有支援 MIT 应用的杂项常式. 它不是X
      标准的一部分; 供应商可以不提供这个程式库. Xmu 使用外面介面连
      结所有程式库且可被植入不同的系统. 它目前被部分 Athena widget
      set 与不同的 client 所使用.  lib/Xt/ 本目录内包含一个 X
      Toolkit Intrinsics 撰写样品、一个resource、事件与物件的管理器
      , 此管理器机制用以建立使用者介面物件, 称为 widgets. Intrinsics
      已被发展成为X标准的一部分. 任何供应 Xlib 的供应商也被期望能提
      供 Xt.  lib/oldX/ 本目录内包含 X11 重新改写的 X10 Xdraw 与
      Assoc Table.

  rgb/ 本目录包含一个 RGB 彩色资料库样品与一个编译它的程式. 一个好的
      资料库是非常有需要的, 但是还没一个有人志愿去做. 灰度阶与一些新
      色彩已被加入.

  server/ 本目录包含一个 Core 通讯协定的 sample Server. 它应该与 X
      Protocol Specification 相当匹配, 但规格是最後的根据. 在试图做
      任何改变之前请读取在dos/Server 目录内的文件与任何在 Server/ddx
      目录内的 README 档案, 并认真地研究它的码.

  server/ddx/ 本目录包含一些不同工作台的设备相关程式库. 在建立或安装
      任何 Server之前请研究每个 README 档案.

  server/ddx/apollo/ 本目录包含一些建立一个 server 的完整原始程式,
      它们须在单色与彩色 Apollo 显示器上执行, README 档内建立有这种
      Server 的提示与必要条件.

  server/ddx/cfb/ 本目录包含一个非现场获取色彩Ports的色彩架构缓冲器
      (color frame buffer)函数馆之□例。在 server执行之後,它被用来
      在所有可用之硬体支援选择最佳之使用。

  server/ddx/dec/ 本目录包含在 VAXstation II、2000 及 300 系列的单色
      (qvss) 与彩色 (qdss) 显示器上建立 server 的完整原始码. 它也包
      含控制与解译 LK201键盘的常式.

  server/ddx/hp/ 本目录包含一个建立可执行於 HP 9000/300 系列,具有
      Topcat 显示器的 server 之完整原始码.

  server/ddx/ibm/ 本目录包含一个建立可执行於 IBM AOS (不是 AIX) 下的
      APA16 与Magaple 显示器的 server 之完整原始码.

  server/ddx/macII/ 本目录包含一个建立可执行於 A/UX 下的 Apple
      Macintosh II 的Server 之原始码.

  server/ddx/mfb/ 本目录包含一个单色架构缓冲显示器的可携式驱动器. 它
      的主要目的是为了没有特殊图形硬体的工作台作为一个初始植入基础.
      假如硬体可以支援,它也可以用在任何可能的地方.

  server/ddx/mi/ 本目录包含与机器无关的不同图形操作的程式. 在将 server
      植入新工作台与处理在记忆□里的 (in-memory) 影片影像 (pixmap) 时
      通常与 mfb 以及 cfb程式库合用.

  server/ddx/ndx/ 本目录包含建立一个不具有输入或输出装置的 server 的
      原始码. 它使用一般性的单色与彩色框架缓冲码, 使得它对於测试 server
      与机器无关的部分很有用.

  server/ddx/plx/ 本目录包含在 Sun 或 VAX 的 parallax 视讯图形控制器
      上建立一个server 的原始程式. 它也使用到在 extensions/server/
      目录里的 Parallax VideoExtension.

  server/ddx/snf/ 本目录包含处理 SNF 字型的常式. 大多数的 server 使
      用不方便的SNF, 但它们并没有需要如此作.

  server/ddx/sun/ 本目录包含一个建立可执行於 Sun bw2 与 cg 显示器的
      server 的完整原始程式. 它使用 cfb 程式库取代一些指定设备的常式
      , 也因此在支援分散处理的某些时候较其他彩色 server 慢. 在建立与
      安装 Sun server 之前请阅读目录里的README 档.

  server/dix/ 本目录包含 sample X server 与设备无关的部分. 它强烈地
      建议你不要改变任何码, 就好像阻碍你更新至新版本一样. 假如你发现
      问题或建议作一个改变使植入一个新工作台更容易, 请依照附录E所描
      述的方式发出一个错误报告.

  server/include/ 本目录包含整个 server 所需用到的前置档.

  server/os/ 本目录包含 server 与不同作业系统相关的部分.

  server/os/4.2bsd/ 本目录包含可以使 sample server 执行於支援 4.2bsd
      插座介面的作业系统常式.

  server/os/bsdemul 本目录包含可模拟一般使用的 BSD 的常式. 它是 System
      V 基础的server 典型的用法.

  util/ 本目录包含本发行版建立与建构的不同程式与 script. 当你想将X
      带上新工作台时, 应该最先将本部分的程式植入.

  util/bm-convert/ 本目录包含一个可以将 X10 格式的位元影像档转换成
      X11 格式的过滤器.

  util/checkfn/ 本目录包含一个可以检查不合法档案名称的公用程式. 它通
      常在准备发布之前使用.

  util/compress/ 本目录包含 BSD 压缩程式的原始码.

  util/cpp/ 本目录包含一个由 Martin Minow's DECUS cpp 所发展的公开领
      域的 C 前置处理器的原始程式. 它提供那些 cpp 无法处理复杂的
      server 或 X Toolkit的系统. A/UX 1.0 的使用者在尝试建立本发行版
      之前必须建立与安装它 (参考 ser-ver/ddx/macII/R3setup.sh).

  util/imake/ 本目录内包含建立系统时大多数重要的公用程式. imake 程式
      用於从机器无关的叙述称作 Imakefile 的档案产生适当的机器相关
      Makefile 档. 它使用 C前置处理器所以记号名称与巨集函式也可以被
      定义. 它有它自己的手工做的Makefile, 且有一个可决定初始编译旗标
      的特殊程式. 假如你将本发行版植入新机器, 你可能需要去编辑
      util/imake/ccflags.c 以加入当你的机器在编译 imake 时所需要的任
      何编译旗标. Imake 会被自动地建立, 就好像 make World 的一部分.

  util/imake.includes/ 本目录包含用於产生不同 Makefile 的架构档.
      README 档里有哪些参数能被设定与在那里设定的描述. server-specific
      值在适当的 macros 档内给定, 与预设值不同的 site-wide 值在 site.def
      档给定. Imake.tmpl 不应该被更改. 假如改变任何这些参数, 你将需
      要完全重新建立 (rebuild) 使其能发生作用.假如你正想将 X 植入新
      机器, 必须非常小心地研读本目录的档案.  util/makedepend/ 本目
      录包含一个可以自动产生 Makefile 的关联性的程式. 它作用於程式建
      立过程, 在有任何原始程式改变的时候会正确地将应该重新编译的档案
      重新编译. 假如架构参数 CppSourcesPresent 设为 Yes, makedepend
      会有一份 C 前置处理器的拷贝, 以便加快速度. 这不是必要的且本发
      行版也未完成该功能. makedepend 被自动地建立, 作为 "make World"
      阶段的一部分.

  util/patch/ 本目录包含 Larry Wall's patch 程式, 它是一个要将修补差
      异转换成原始码时非常有用的程式. 本程式在本发行版不会自动建立;
      它提供无法存取 comp.sources.unix 压缩档的人一个简易与方便性.

  util/scripts/ 本目录包含不同安装软□与产生连结树等工作的有用说明。

  util/soelim/ 本目录包含某些系统需要的一个 soelim 程式版本.

=====

--
※ 来源:·古庙钟声 cs3.xmu.edu.cn·[FROM: 210.34.6.201]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:420.799毫秒