本節的指示能讓終端機及其它電腦連上你的 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
也將會有一樣好的表現.
要確定輸入正確的串列埠資訊到你終端機-個人電腦的通訊設定裡去.