FreeBSD handbook中文版 15 串口通讯( 四 )


3. 指定默认的终端类型 。
4. 设置端口为on 。
5. 确定端口是否为secure 。
6. 迫使init 重新读取/etc/ttys 文件 。
作为可选的步骤 , 你可以通过在/etc/gettytab 中建立一个记录 , 在第2 步创建一个定
制的getty类型来使用 。这章不会介绍如何做;你可以看看gettytab 和getty 的联机手册
了解更多信息 。
15.3.2.1 添加一个记录到/etc/ttys
/etc/ttys 文件列出了你FreeBSD 系统上允许登陆的所有端口 。例如 , 第一个虚拟控制
台ttyv0 在这个文件中有一个记录 。你可以使用这个记录登陆进控制台 。这个文件也包含其
他虚拟控制台的记录、串行口、和伪-ttys 。对于一个硬连线的终端 , 只要列出串行端口的
/dev 记录 。
默认的FreeBSD 安装包括了支持最初四个串行口ttyd0 到ttyd3 的/etc/ttys 文件 。如
果你从那些端口来使用终端 , 你不需要添加另一个记录 。
例15-1.添加终端记录到/etc/ttys
建议我们连接两个终端给系统:一个Wyse-50 和一个老的运行Procomm 终端软件模拟一
个VT-100 终端的286IBM PC 。在/etc/ttys 文件中的相应的记录是这样的:
"/usr/libexec/getty std.38400" wy50 on insecure ttyd1
ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure
, 第一部分指定了终端特殊文件的名称 , 它可以在/dev 中找到 。
, 第二部分是在这行执行的命令 , 通常是getty 。Getty 初始化然后打开一行 , 设置
速度 , 用户名的命令和执行登陆程序 。
getty 程序在它的命令行接收一个参数 , getty类型 。一个getty类型会在终端行描述
一个特征 , 象bps rate 和parity 。getty 程序从/etc/gettytab 文件读取这些字符 。文件
/etc/gettytab 包含了许多老的和新的终端线的记录 。在很多例子中 , 启动文本std 的记录
第8 页FreeBSD 使用手册
将用硬连线终端来工作 。这些记录忽略了奇偶性 。这是一个从110 到115200 的每bps 的std
记录 。当然 , 你可以添加你自己的记录到这个文件 。Gettytab 的联机手册提供了更多的信
息 。
当在/etc/ttys 中设置getty类型的时候 , 确信在终端上的通讯设置匹配 。
在我们的例子中 , Wyse-50 不使用奇偶性 , 用38400 bps 来连接 。286 PC 不使用奇偶性 ,
用19200bps 来连接 。
, 第三部分是通常连接到那个tty 线的终端类型 。对于拨号端口 , 不知名的或拨出的
通常被用在这个地方 。对于硬连线的终端 , 终端类型不会改变 , 所以你可以从termcap 数据
库文件中放置一个真正的终端类型 。
在我们的例子中 , Wyse-50 使用真正的终端类型 , 而运行Procomm 的286 PC 将被设置成
在VT-100 上的模拟 。
, 如果端口被启用 , 可以指定第四个部分 。在第二部分 , 把它放在这儿将执行初始化
进程来启动程序getty 。如果你在这部分推迟 , 将没有getty , 在端口上因此就没有登陆 。
, 最后部分被用来指定端口是否安全 。标记一个安全的端口意味着你信任它允许用root
帐户从哪个端口登陆 。不安全的端口不允许root 登陆 。在一个不安全的端口上 , 用户必须
用无特权的帐户登陆 , 然后使用su 或一个相似的机制来获得超级用户的权限 。
15.3.2.2 重新读取/etc/ttys 来强制初始化
对/etc/ttys 文件做一个必要的修改后 , 你必须发送一个SIGHUP 信号给初始化进程来
迫使它重新读取它的配置文件 , 例如:
# kill -HUP 1
如果能够被正确设置 , 所有的线缆都是适当的 , 终端将可以启用了 , 然后一个getty
进程将在每个终端被运行 , 你将在你的终端上看到登陆命令行 。
15.3.3 你的连接可能出现的问题
即使你小心翼翼地注意细节 , 你仍然可能会在设置终端时出错 。这儿有一个有关问题的

推荐阅读