本节的指示能让终端机及其它电脑连上你的 Linux 机器的串列埠.
要确定你有一条正确的连接线.在电脑商店买的 null modem 连接线就可以胜任. 但是它一定得要是一条 null modem 线!许多的电脑站将这类的连接线说成是串列印表接线. 确定你是使用你的串列埠,公的 DB25 或是 DB9 接头,而不是你的并列埠(母的 DB25 或 centronics).
对 DB-25 接头而言,至少你得要有:
PC male DB25 Terminal DB25 TxD Transmit Data 2 --> 3 RxD Receive Data RxD Receive Data 3 <-- 2 TxD Transmit Data SG Signal Ground 7 --- 7 SG Signal Ground
如果你想要拥有流量控制以及硬体连线协商(handshaking)的话,你必须要有一条完整的 null modem 接线:
PC male DB25 Terminal DB25 TxD Transmit Data 2 --> 3 RxD Receive Data RxD Receive Data 3 <-- 2 TxD Transmit Data RTS Request To Send 4 --> 5 CTS Clear To Send CTS Clear To Send 5 <-- 4 RTS Request To Send DSR Data Set Ready 6 | DCD Carrier Detect 8 <-- 20 DTR Data Terminal Ready SG Signal Ground 7 --- 7 SG Signal Ground 6 DSR Data Set Ready | DTR Data Terminal Ready 20 --> 8 DCD Carrier Detect
如果你的串列埠上有一个 DB9 的接头,试试看下面这个:
PC DB9 Terminal DB25 RxD Receive Data 2 <-- 2 TxD Transmit Data TxD Transmit Data 3 --> 3 RxD Receive Data SG Signal Ground 5 --- 7 SG Signal Ground
或者,一条完整的 DB9 对 DB25 null modem 连接线:
PC DB9 Terminal DB25 RxD Receive Data 2 <-- 2 TxD Transmit Data TxD Transmit Data 3 --> 3 RxD Receive Data 6 DSR Data Set Ready | DTR Data Terminal Ready 4 --> 8 DCD Carrier Detect GND Signal Ground 5 --- 7 GND Signal Ground DCD Carrier Detect 1 | DSR Data Set Ready 6 <-- 20 DTR Data Terminal Ready RTS Request To Send 7 --> 5 CTS Clear To Send CTS Clear To Send 8 <-- 4 RTS Request To Send (RI Ring Indicator 9 not needed)(没错! 第二支及第三支脚在 DB9 连接头上确实和 DB25 接头意义相反!)
如果使用的并不是完整的 null modem 连接线的话,你可能得要做下面这个欺骗的技巧: 在你电脑这边的接头上,把 RTS 跟 CTS 接在一起,而且也把 DSR, DCD 以及 DTR 接在一起. 用这个方法,当电脑要求一个正确的硬体连线协商信号时,它就可以得到(从它自己发出的).
现在你已经有正确的连接线,把你的终端机连接到你的电脑上. 如果你可以的话,告诉你的终端机忽略数据机控制信号. 试试看用 9600 bps, 8 data bits, 1 stop bit, no parity bits 来设定终端机.
getty
在 /etc/gettydefs
里面增加一个给 getty
用来连接你终端机项目,如果还没有这项的话:
# 38400 bps Dumb Terminal entry
DT38400# B38400 CS8 CLOCAL # B38400 SANE -ISTRIP CLOCAL #@S @L login: #DT38400
# 19200 bps Dumb Terminal entry
DT19200# B19200 CS8 CLOCAL # B19200 SANE -ISTRIP CLOCAL #@S @L login: #DT19200
# 9600 bps Dumb Terminal entry
DT9600# B9600 CS8 CLOCAL # B9600 SANE -ISTRIP CLOCAL #@S @L login: #DT9600
如果你要的话,你可以让 getty
在签入的标题上印出一些有趣的东西.
在我的例子里,我印出系统名称以及串列线路.你可以加入其它的东西:
@B 目前的每秒位元传输率(bps, 在看到 @B 时估计的).
@D 现在日期, 格式 MM/DD/YY.
@L getty 所连接的串列线路.
@S 系统名称.
@T 现在时间,格式 HH:MM:SS (24 小时制).
@U 目前签入的使用者.这是在 /etc/utmp 档中非空 ut_name 栏位项目的计数值.
@V 版本值,在预设档中给定的.
如果要显示 '@' 符号的话,用 '\@' 或 '@@'.
当你正在编辑 /etc/gettydefs
时,你可以这样来检查它的语法是否正确:
linux# getty -c /etc/gettydefs
确定没有 getty
或 uugetty
的设定档(/etc/default/{uu}getty.ttyS
N 或 /etc/conf.{uu}getty.ttyS
N)在你的终端机连接的串列埠上,
因为这也许会干扰到在终端机上执行的 getty
.如果有的话请移除它.
编辑你的 /etc/inittab
让 getty
在你的串列埠上执行(用你环境的正确资讯来取代 - 配置档的位置,串列埠名,速度,及预设终端机形式):
S1:456:respawn:/sbin/getty ttyS1 DT9600 vt100
重新起始 init
:
linux# init q
现在你应该会在你的终端机上看到签入提示.也许你得按返回键(return)几次让终端机注意到.
许多人将其它 PC 设定成终端机连接到 Linux 机器上.例如,旧的 8088 或是 286 PC 非常适合这个用途.
你需要的只是一张包含适合让你的终端机-个人电脑 (Terminal-PC) 使用的 DOS 磁片,以及让你的终端机-个人电脑执行的通讯程式.
kermit
在这个用途上表现得非常好.
你可以在这台机器
http://www.columbia.edu/kermit/
上找到几乎可以让任何现存的作业系统使用的已编译的 kermit
版本.
其它流行的 DOS 通讯程式像是 telix
以及 procomm
也将会有一样好的表现.
要确定输入正确的串列埠资讯到你终端机-个人电脑的通讯设定里去.