当前位置:Linux教程 - Linux - 串口通信 HOWTO

串口通信 HOWTO



        

    Linux Serial HOWTO 中译版
    作者: Greg Hankins [email protected]
    译者: Asd L. Chen & C.W.Huang
    v1.11, 15 November 1997 翻译日期: 18 November 1997


    -----------------------------------------------------------------
    这份文件叙述如何在 Linux 机器上设定串列通讯设备.
    -----------------------------------------------------------------


    1. 简介
    1.1 版权声明
    1.2 这份文件的最新版本
    1.3 回馈
    1.4 免责声明

    2. 已经支援的串列硬体
    2.1 标准 PC 串列埠
    2.2 即插即用型(PnP)数据机
    2.3 一般多埠串列卡(附 8250/16450/16550A UART 晶片)
    2.4 智慧型多埠串列卡
    2.5 不支援的串列硬体

    3. 串列埠的名称是什麽?
    3.1 在 /dev 里的串列设备及主要和次要号码
    3.2 一般多埠板的注意事项
    3.3 智慧型多埠板的注意事项

    4. 你应知道的有趣程式
    4.1 什麽是 getty?
    4.2 什麽是 setserial?

    5. 我怎麽用数据机拨号出去?
    5.1 硬体需求
    5.2 与你的数据机交谈
    5.3 拨出用的数据机配置
    5.4 硬体流量控制

    6. 我要怎麽样用数据机以 getty_ps 拨入及拨出?
    6.1 拨入及拨出的数据机配置
    6.2 安装 getty_ps
    6.3 设定 uugetty
    6.4 自订 uugetty

    7. 我怎麽设定终端机连线到我的 PC 上?
    7.1 硬体需求
    7.2 设定 getty
    7.3 将 PC 设定成终端机的注意事项

    8. 我能使用超过两个的串列装置吗?
    8.1 选择串列设备的中断位址
    8.2 设定串列设备的位址

    9. 我怎样将我的串列埠设到较高的速度? 我的数据机又应该使用什麽样的速度?

    10. 通讯程式及工具

    11. 串列使用秘诀
    11.1 kermit 以及 zmodem
    11.2 自动设定终端机型式
    11.3 在串列连线下的彩色 ls
    11.4 从终端机所连接的印表机进行列印
    11.5 Linux 能不能够自动地配置串列设备?
    11.6 使用串列控制台
    11.7 更高的串列流量

    12. 更进一步...
    12.1 什麽是锁定档案(lock files)?
    12.2 ``baud\\ 对 ``bps\\
    12.3 什麽是 UARTs? 它们如何影响效能?

    13. 故障排除
    13.1 我不断地收到 ``line NNN of inittab invalid\\
    13.2 当我试著拨号时,它说 ``/dev/cuaN: Device or resource busy\\
    13.3 我持续接到 ``Id SN respawning too fast: disabled for 5 minutes\\
    13.4 串列设备很慢或是串列设备只能单向传送
    13.5 我的数据机在某人断线後瘫痪或是 uugetty 并没有重新执行
    13.6 我将我的终端机连到我的 PC 上,但是在我输入签入名称之後,它就锁住不动
    13.7 在高速下,我的数据机漏失资料
    13.8 在系统启动时,Linux 没有依照我的配置回报串列设备.
    13.9 当我使用我的数据机叫用 Linux 机器时 rz 以及/或是 sz 不动
    13.10 我的萤幕印出看起来很好玩的字元
    13.11 getty 或 uugetty 仍然无法运作

    14. 其它的资讯来源

    15. 铭谢

    1. 简介



    这是 Linux Serial HOWTO.包含关於如何在 Linux 下设定数据机以及终端机的所有细节,还有一些使用串列的诀窍,以及故障排除的资料.
    这份文件著重在 Intel x86 硬体上执行的 Linux,虽然在其它平台上也许也能运作.


    1.1 版权声明



    本文版权是属於 Greg Hankins(copyright (C) 1993 - 1997).本文件可以在 LDP 的版权许可下散布:

    http://sunsite.unc.edu/LDP/COPYRIGHT.html
    .
    本文在未经作者许可下不得以修改的形式散布.


    原文

    Copyright (c) 1993 - 1997 by Greg Hankins. This document may be
    distributed under the terms set forth in the LDP license at

    http://sunsite.unc.edu/LDP/COPYRIGHT.html
    .
    This document may not be distibuted in modified form without
    consent of the author.


    1.2 这份文件的最新版本



    新版的 Serial HOWTO 会放到


    ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/Serial-HOWTO

    以及映射节点.有一些其它像是 Postscript 以及 DVI 格式的版本放在 other-formats 目录里.
    这一份 Serial HOWTO 也可在

    http://sunsite.unc.edu/LDP/HOWTO/Serial-HOWTO.html

    取得.它也会每月定期的贴到
    comp.os.linux.answers


    1.3 回馈



    请将任何的问题,评论,建议或补充内容寄送给我.我永远渴望听到你对这份 HOWTO 的想法.
    我也总是小心地注意改进! 确实地告诉我你有什麽不懂的地方,或者是有什麽地方可以写得更清楚.
    你可以经由这个电子邮件位址
    [email protected]
    与我连系.
    所有的邮件我都会回覆,不过可能要花一个星期或更长的时间,看我多忙而定.
    我收到一大堆来自 root 及错误设定的站台.
    请以真实身份寄信给我,并且确定你的电子邮件系统是正常运作使得我能够回信给你.
    如果两个星期之内你还没收到我的回音,请尝试再寄一次.

    也可以藉由下面的地址以迟缓的传统信件联络我:

    Greg Hankins

    College of Computing

    801 Atlantic Drive

    Atlanta, GA 30332-0280

    以及经由全球资讯网到我的网页


    http://www.cc.gatech.edu/staff/h/Greg.Hankins/
    .

    撰写时请将 Serial HOWTO 文件的版本编号含入,这份是 1.11 版.


    1.4 免责声明



    你的状况可能很不一样.这里的回答可能无法在所有的系统及各种设定的组合下运作.



    2. 已经支援的串列硬体



    以知 Linux 可以与下列的串列硬体配合运作.


    2.1 标准 PC 串列埠





    • 标准 PC 串列埠 (COM1 - COM4),能够让外接的串列装置(数据机,串列滑鼠等)连接的

    • 标准 PC 内接式数据机 (COM1 - COM4)

    • Quickpath Systems Port-Folio 550e (可用的 IRQ 为
      3, 4, 5, 9, 10, 11, 12, 及 15)



    注意: 由於位址冲突,你不能同时使用 COM4 及 IBM8514 视讯卡.这是 IBM8514 视讯卡的一个 bug.


    2.2 即插即用型(PnP)数据机



    即插即用型数据机能够在 Linux 上运作.然而,我不建议使用它们,因为有困难.
    你有好多事情要试:


    • 试著关掉你电脑 BIOS 及数据机上的 PnP 功能.

    • 启动 Windows 95,设定数据机,然後看看在你启动 Linux 後这些设定能否保留下来.
      如果不行的话,再来:

    • 启动 Windows 95,设定数据机,然後使用暖开机启动 Linux 以便让设定能保留下来.
      你可以使用 loadlin 载入器来启动.


    • http://www.redhat.com/linux-info/pnp
      取回 PnP 工具.

    • 然後你就有个可用的数据机.



    2.3 一般多埠串列卡(附 8250/16450/16550A UART 晶片)





    • AST FourPort and clones (4 ports)

    • Accent Async-4 (4 ports)

    • Arnet Multiport-8 (8 ports)

    • Bell Technologies HUB6 (6 ports)

    • Boca BB-1004 (4 ports), BB-1008 (8 ports), BB-2016 (16 ports)

    • Boca IOAT66 (6 ports)

    • Boca 2by4 (4 serial ports, 2 parallel ports)

    • Computone ValuePort V4-ISA (AST FourPort compatible)

    • Digi PC/8 (8 ports)

    • GTEK BBS-550 (8 ports)

    • Longshine LCS-8880, Longshine LCS-8880+ (AST FourPort compatible)

    • Moxa C104, Moxa C104+ (AST FourPort compatible)

    • PC-COMM (4 ports)


    • Sealevel Systems COMM-2 (2 ports), COMM-4 (4 ports) and COMM-8 (8 ports)

    • SIIG I/O Expander 2S IO1812 (4 ports)

    • STB-4COM (4 ports)

    • Twincom ACI/550

    • Usenet Serial Board II (4 ports)


    一般来说, Linux 能够支援所有使用 8250, 16450, 16550, 16550A(或与其相容)UART 晶片的串列卡,
    或者是能够摸拟上列 UARTs 之一的内接式数据机.

    注意: BB-1004 以及 BB-1008,它们并不支援 DCD 及 RI 线路,因而无法让接受拨接的数据机使用.
    它们在其它用途上则表现正常.


    2.4 智慧型多埠串列卡






    其中 Comtrol, Cyclades, Digi, 及 Stallion 的产品在 1995 年六月份的 Linux Journal 上有篇回顾文章.
    这篇文章可在
    http://www.ssc.com/lj/issue14
    找到.


    2.5 不支援的串列硬体



    宣称``Winmodems\\的数据机,例如 USR Sportster Winmodem 及 IBM Aptiva MWAVE,
    无法在 Linux 上使用.这些数据机具有专门的设计需要特别的 Windows 驱动程式.
    避免使用这样的数据机.除此之外,基於相同理由也别使用需要 Rockwell RPI 驱动程式的数据机.

    没有 Linux 所需驱动程式的智慧型串列埠也不能使用.



    3. 串列埠的名称是什麽?



    一个输出/入(I/O)埠是用来将资料送入电脑及从电脑取出的通路.
    有许多种类的输出/入埠,例如串列埠,平行埠,磁碟控制器,乙太网路卡等等.
    我们要处理的是串列埠,因为数据机及终端机是串列装置.
    每一个串列埠必须有一个输出/入位址,以及一个插断号码(IRQ).
    有四个串列设备对应到 COM1 - COM4:



    ttyS0 (COM1) address 0x3f8 IRQ 4
    ttyS1 (COM2) address 0x2f8 IRQ 3
    ttyS2 (COM3) address 0x3e8 IRQ 4
    ttyS3 (COM4) address 0x2e8 IRQ 3



    如果 Linux 启动时没有侦测到任何串列装置,请确定在编译核心时有加入串列支援.
    在这份文件中,我是以 ttyS0 参照 COM1,ttyS1 参照 COM2,以 ttyS2 参照 COM3 ,而以 ttyS3 参照 COM4.
    注意这些装置预设的 IRQ 是重叠的.你无法由这些预设值使用所有的串列埠,你必须重新指定不同的 IRQ.
    参见
    我能使用超过两个的串列装置吗? 一节说明如何设定 IRQ.

    某些安装方式会建立两个额外的设备,给你数据机使用的 /dev/modem 以及给你滑鼠使用的 /dev/mouse
    它们都是链结到你在安装时所指定适当 /dev 里的设备的符号链结(除非你用的是汇流排滑鼠(bus mouse) ,那麽 /dev/mouse 将会指到汇流排滑鼠这个设备).

    已经有些关於使用 /dev/mouse 以及 /dev/modem 优缺点的讨论.
    强烈地反对使用这些链结,如果你打算用你的数据机接受拨接的话,要是你使用了 /dev/modem 那麽你将会因为锁定档案(lock files)无法正确运作而遭遇到困难.
    如果你喜欢它们的话就用吧,但是要确定它们指向正确的设备
    然而,如果你改变或除去这个连结,某些应用程式(例如 minicom)可能要重新设定.


    3.1 在 /dev 里的串列设备及主要和次要号码






    /dev/ttyS0 major 4, minor 64 /dev/cua0 major 5, minor 64
    /dev/ttyS1 major 4, minor 65 /dev/cua1 major 5, minor 65
    /dev/ttyS2 major 4, minor 66 /dev/cua2 major 5, minor 66
    /dev/ttyS3 major 4, minor 67 /dev/cua3 major 5, minor 67



    要注意到所有的发行套件都应该已经正确地建立了这些设备.
    你可以用下法检查:


    linux% ls -l /dev/cua*
    linux% ls -l /dev/ttyS*



    /dev 中建立设备



    如果你没有其中的一个设备,你必须自己用 mknod 指令建立它.
    例如,假定你需要建立 ttyS0 设备:



    linux# mknod -m 666 /dev/cua0 c 5 64
    linux# mknod -m 666 /dev/ttyS0 c 4 64



    你也可以使用 MAKEDEV 这个指令稿,在 /dev 下应该会有.
    这简化了设备的建立.例如,如果你需要建立 ttyS0 设备则应该输入:


    linux# cd /dev
    linux# ./MAKEDEV ttyS0



    这将会处理关於连线进来以及连线出去的设备之建立,并设定正确的权限.


    3.2 一般多埠板的注意事项



    你的多埠板所使用的设备视你使用那一种多埠板而定.
    这些细节详细列在随附於 setserial 程式的 rc.serial 里面.
    如果你尝试使用多埠板的话我强烈建议你取得最新版本的 setserial
    你可能会需要建立这些设备.无论是用 mknod 指令或是 MAKEDEV 指令稿都可以.
    多埠板所用设备是以加上 ``64 + 埠号\\ 来建立的.所以,如果你想为 ttyS17 建立设备,你应该输入:



    linux# mknod -m 666 /dev/cua17 c 5 81
    linux# mknod -m 666 /dev/ttyS17 c 4 81



    要注意到 \\64 + 17 = 81\\.使用 MAKEDEV 指令稿的话,你应该输入:


    linux# cd /dev
    linux# ./MAKEDEV ttyS17


    注意: SIIG 的 IO1812 手册上列出的 COM5-COM8 是错的.它们应该是 COM5=0x250, COM6=0x258, COM7=0x260, 以及 COM8=0x268.

    注意: Digi PC/8 Interrupt Status Register 是 0x140.

    注意: 对於 AST Fourport,你必须在 rc.serial 中指定 skip_test


    3.3 智慧型多埠板的注意事项



    阅读随附驱动程式而来的资讯.
    这些板使用了特殊的装置,而非标准的.这些资讯视你的硬体而定.

    4. 你应知道的有趣程式



    4.1 什麽是 getty?



    getty 是在你签入 Unix 机器的时候处理签入程序的一支程式.
    如果你希望你的 Linux 机器能够使用数据机拨入的话你会需要 getty
    如果你只需要用数据机拨出的话你不需要用 getty
    有三种经常配合 Linux 使用的版本: getty_ps, mgetty 以及 agetty
    这些程式的语法是不同的,所以不论你用什麽 getty 请确定你使用了正确的语法.


    关於 getty_ps




    大部分 Linux 安装套件都安装了 getty_ps 套件.它包含了两个程式:
    getty 是由主控台,以及终端机设备所使用,而 uugetty 则是由数据机所使用的.
    因为我本身是使用这个版本的 getty,所以在这份文件中我将会著重於此套件.


    关於 mgetty



    mgetty 是一个在数据机上使用的 getty 版本.
    除了能够允许签入之外, mgetty 也提供传真(FAX)支援及自动 PPP 侦测.
    这套 mgetty 的文件写得相当地好,因而不需要再补充什麽.请参考它的安装说明.
    你也可以在
    http://www.leo.org/~doering/mgetty/
    找到 mgetty 的最新资讯.


    关於 agetty



    agetty 是第三种 getty 变型.
    它是 getty 一个简单的,完整的功能实作,适合用在虚拟主控台或终端机而非数据机上.


    4.2 什麽是 setserial?



    setserial 是一支可以让你查看并修改串列设备各种属性的程式,包括它们所使用的埠位址,中断,以及其它串列埠选项.
    你可以藉由执行不加参数的 setserial 来获取版本讯息.

    在你的 Linux 系统启动时,只有 ttyS{0-3} 会以预设的 IRQ 4 以及 3 来进行配置.
    所以,如果你有任何由其它界面卡提供的串列埠或是 ttyS{0-3} 使用非标准的硬体中断(IRQ)的话,
    必须用这支程式来配置这些串列埠.要知道所有的选项请参考线上手册.



    5. 我怎麽用数据机拨号出去?



    5.1 硬体需求



    首先,要确定你拥有正确的连接线.你的数据机需要一条直接的 (straight through) 连接线,没有任何跳线 (no pins crossed).
    任何一家电脑商店都有.要确定接头的形式是对的.如果你使用的是 DB25 串列埠,它应该是公的 DB25 接头.
    把你的数据机接到其中一个串列埠上.如果你需要关於这个动作的辅助说明请参考你的数据机手册.


    内接式数据机注意事项



    对於内接式数据机而言,你不需要连接线.内接式数据机不需要串列埠,它自己有内建一个.
    你只要配置一个没有被使用的硬体中断给它,并且配置该埠的输出入位址.如果你卡在某个问题上请参考你的数据机手册.
    同样,如果你需要关於选择中断以及位址上的帮助,参阅
    我能使用超过两个的串列装置吗? 一节的说明.

    在某些主机板上你必须关掉被数据机取代的串列埠以避免冲突.
    这可经由跳线或 BIOS 的设定来办到,视你的主机板而定.查阅你的主机板手册.

    由於 IBM8514 视讯卡的一个错误,如果你想要将你的内接式数据机设在 ttyS3 的话可能会遭遇一些问题.
    如果 Linux 没有侦测到你设在 ttyS3 上的内接式数据机,你可以使用 setserial 程式来设定然後数据机将会正常运作.
    设在 ttyS{0-2} 上的内接式数据机在侦测上应该不会有任何问题.
    由於此视讯卡的错误 Linux 在 ttyS3 没有任何自动侦测的动作.


    5.2 与你的数据机交谈



    在你使用复杂的通讯程式如 SLIP 或 PPP 之前先以 kermit 或其它简单的通讯程式来测试这些设定.
    你可以从
    http://www.columbia.edu/kermit/
    以及映射节点上找到最新的 kermit 版本.
    例如,要是你的数据机设在 ttyS3 上,而且可以接受 115200 bps 的话,你可以这样做:



    linux# kermit
    C-Kermit 6.0.192, 6 Sep 96, for Linux
    Copyright (C) 1985, 1996,
    Trustees of Columbia University in the City of New York.
    Default file-transfer mode is BINARY
    Type ? or HELP for help.
    C-Kermit>set line /dev/ttyS3
    C-Kermit>set carrier-watch off
    C-Kermit>set speed 115200
    /dev/ttyS3, 115200 bps
    C-Kermit>c
    Connecting to /dev/ttyS3, speed 115200.
    The escape character is Ctrl-\\ (ASCII 28, FS)
    Type the escape character followed by C to get back,
    or followed by ? to see other options.
    ATE1Q0V1 ; 这是你键入的并按下 Enter 键
    OK ; 数据机应该回应这个


    如果你的数据机对 AT 指令群有回应,那麽你可以假定你的数据机在 Linux 这一端能正确运作.
    现在试著拨给另一台数据机:



    ATDT7654321



    其中 7654321 是一个电话号码.如果你的是脉冲线路(pulse line)的话用 ATDP 而不是 ATDT.
    如果可以拨得出去,你的数据机就可正常运作.


    回到 kermit 的提示符号下,按住 Ctrl 键,按下 \\ (backslash) 录,然後放开 Ctrl 录,再按下 C 键:



    Ctrl-\\-C
    (Back at linux)
    C-Kermit>quit
    linux#


    这个不过是用\"手动\"方式的拨号测试.正常的方法是让 kermit 用它内建的数据机资料库自动为你拨号,例如,使用 US Robotics (USR) modem:




    linux# kermit
    C-Kermit 6.0.192, 6 Sep 1997, for Linux
    Copyright (C) 1985, 1996,
    Trustees of Columbia University in the City of New York.
    Default file-transfer mode is BINARY
    Type ? or HELP for help
    C-Kermit>set modem type usr ; 选择数据机型式
    C-Kermit>set line /dev/ttyS3 ; 选择通讯装置
    C-Kermit>set speed 115200 ; 设定通讯速度
    C-Kermit>dial 7654321 ; 拨号
    Number: 7654321
    Device=/dev/ttyS3, modem=usr, speed=115200
    Call completed.<BEEP>
    Connecting to /dev/ttyS3, speed 115200
    The escape character is Ctrl-\\ (ASCII 28, FS).
    Type the escape character followed by C to get back,
    or followed by ? to see other options.

    Welcome to ...

    login:


    如果你需要一些指引,查阅有关
    通讯软体 一节说明.


    当你用你的数据机拨号出去时,将你的数据机设到它所能支援的最高速度.
    Linux 的 libc 5.x 版以上已经支援到 115200 bps.
    libc 通常放在 /lib,因此到那里看一下你用什麽版本.
    如果 Linux 无法认得 57600 或 115200 bps,那麽你必须用 setserial 程式来将你的串列埠设到更高的速度.
    关於要怎麽设定参阅
    如何将我的串列埠设定为更高速度? 该节说明.
    然後在通讯程式里将速度设到 38400 bps.


    5.3 拨出用的数据机配置



    只要拨号出去的话,你可以任意以你想要的方式配置你的数据机.
    如果你计画用你的数据机来接受拨接,那麽你必须将你的数据机配置成与你想要执行的 getty 在相同速度设定下.
    所以,如果你想要在 38400 bps 的速度下执行 getty 的话,在配置你数据机的时候将速度设成 38400 bps.
    这样做是为了避免你的电脑与数据机之间的速度无法配合.
    一般来说,开启错误校正及硬体流量控制的出厂设定值是最适合拨出用的数据机,这些设定值可查阅你的数据机手册.


    5.4 硬体流量控制



    如果你的数据机支援硬体流量控制(RTS/CTS)的话, 我强烈地建议你去使用它.
    这对於支援资料压缩的数据机将格外重要.首先,你必须在串列埠本身上面启动 RTS/CTS 流量控制功能.
    这最好是在启动系统的时候做,像是放在 /etc/rc.d/rc.local 或是 /etc/rc.d/rc.serial 里面.
    要确定这些档案会被主要的 rc.sysinit 档案执行!你需要对每一个你想要启动硬体流量控制的串列埠执行下列操作:



    stty crtscts < /dev/ttyS3



    你也必须在你的数据机上启动 RTC/CTS 流量控制.要怎麽做请参考你的数据机手册,因为这在不同的数据机制造商之间是不同的.
    如果你的数据机支援设定储存的话则要确定将配置存入你的数据机.

    6. 我要怎麽样用数据机以 getty_ps 拨入及拨出?



    让你的数据机能够正确地拨号出去.如果你还没有读过
    我怎麽用数据机拨号出去 一节的话现在去读
    它包含有非常重要的设定资讯.如果你只想用数据机来拨出的话你不需要读此节.


    6.1 拨入及拨出的数据机配置



    要用来接受拨接以及拨号出去的话,那麽你必须确实地设定你的数据机(再一次对你的数据机使用 AT 指令群):



    E1 本地回应指令
    Q0 回报结果回应
    V1 开启冗长模式
    S0=0 不要接听 (uugetty 以 WAITFOR 选项来处理)



    如果你没有正确地设定,放在你配置档里的起始(INIT)字串可能会失败,因而停住整个程序.
    但是,下面有更多配置档的选项...


    &C1 DCD 只有在连线以後才开启
    &S0 DSR 永远为开启
    DTR 开启/关闭 重置数据机(是数据机制造商而定 - RTFM)



    这些会影响你数据机有关开始以及结束拨号的动作.

    如果你的数据机不支援储存设定,你可以透过在你配置档里的起始字串来设定这些东西.
    参阅下面所述.有一些数据机是以 DIP 开关来影响暂存器的设定,也要确定这些设定是正确的.

    我已经开始著手收集不同种类数据机的设定.
    到目前为止,我还只有它们的一小部分,如果你想要寄送给我你目前所用配置,非常欢迎!
    你可以从这些取得设些设定:
    ftp://ftp.cc.gatech.edu/pub/people/gregh/modem-configs

    注意: 为了让我的 USR Courier V.34 数据机在 DTR 讯号掉下去後正常地重置,我必须设定 &D2S13=1(这是设定暂存器 S13 的 bit 0).这确定能在 USR Sportster V.34 上运作正常.

    注意: 某些 Supra 数据机处理 DCD 讯号的方式异於其它的数据机.
    如果你在用 Supra 数据机,试著设定为 &C0不是 &C1
    你也必须设定 &D2 使之正常地处理 DTR 讯号.


    6.2 安装 getty_ps




    ftp://sunsite.unc.edu/pub/Linux/system/serial
    最新的版本.
    特别地,如果你想使用高速通讯(57600 或 115200 bps),你必须取得 2.0.7j 或以後的版本.
    你也必须有 libc 5.x 或之後的版本.

    依照预设值,getty_ps 将会照 Linux 的档案系统标准(FSSTND, File System Standard)来配置,这个意思是二进位码将会放在 /sbin 下,而配置档将会以 /etc/conf.{uu}getty.ttySN 来命名.
    这点并不能从文件叙述中找到!它也会假定 lock files 将得要放到 /var/lock 目录里.要确定你有 /var/lock 这个目录.

    如果你不想依照 FSSTND 的话,二进位码将会放到 /etc 里面,而配置档将会放到 /etc/default/{uu}getty.ttySN 里面,而 lock files 则将会放到 /usr/spool/uucp 里面.
    如果你有使用 UUCP 的话那麽我建议这样做,因为如果你把 lock files 搬到 UUCP 无法找到的地方去那麽它将会出问题的.

    getty_ps 也可使用 syslogd 来记录讯息.如果你目前没有执行它的话,参阅 syslogd(1) 以及 syslog.conf(5) 的线上手册来设定 syslogd
    讯息会优先以 LOG_AUTH 记录,错误使用 LOG_ERR 记录,而除错使用 LOG_DEBUG.
    如果你不想使用 syslogd 的话那麽你可以编辑在 getty_ps 原始档案里的 tune.h 用一个记录档来取代,预设档名为 /var/adm/getty.log


    决定好是否要依照 FSSTND 以及使用 syslog.你也可以选择两者的组合.
    编辑 Makefiletune.h 以及 config.h 来反应你所作的决定.
    然後,根据套件里的说明编译及安装.


    从现在起,所有谈到 getty 的地方都是指

    发布人:netbull 来自: