从 FreeBSD 8.0 开始, 用于串口的设备节点从
/dev/cuadN
改为了
/dev/cuauN
;
从
/dev/ttydN
改为了
/dev/ttyuN
。
FreeBSD 7.X 用户需要根据实际情况对这份文档中的例子进行必要的调整。
当您在计算机控制台或是在一个连接的网络上时, 终端提供了一个方便和低成本的访问 FreeBSD 系统的方法。 这节描述了如何在 FreeBSD 上使用终端。
早期的 UNIX® 系统没有控制台。 人们通过将终端连接到计算机的串口来登录和使用程序。 它很像用 modem 和一些终端软件来拨号进入一个远程的系统, 只能执行文本的工作。
今天的 PC 已经可以使用高质量的图形了,
但与今天的其他UNIX®操作系统一样,建立一个登录会话的能力仍然存在。
通过使用一个终端连接到一个没有使用的串口,
您就能登录和运行任何文本程序或在 X 视窗系统中运行一个
xterm
窗口程序。
对于商业用户,您可以把任何终端连接到 FreeBSD 系统, 然后把它们放在员工的桌面上。 对于家庭用户,则可以使用一台比较老的 IBM PC 或 Macintosh 运行一个终端连接到一台运行 FreeBSD 的高性能机器上。
对于FreeBSD,有三种终端:
下面一小节将描述每一种终端。
哑终端需要专门的好几种硬件,让您通过串口线连接到计算机。 它们被叫做 “哑” 是因为它们只能够用来显示, 发送和接收文本。 您不能在它上面运行任何程序。
有好几百种哑终端,包括Digital Equipment Corporation 的VT-100和Wyse的WY-75。只有几种可以在FreeBSD上工作。 一些高端的终端可以显示图形,但只有某些软件包可以使用这些高级特性。
哑终端被广泛用于那些不需要图形应用的工作中。
假如 哑终端 的功能仅限于显示、 发送和接收文本的话, 那么显然任何一台闲置的个人计算机, 都完全能够胜任哑终端的工作。 因此您需要的是合适的线缆, 以及一些在这台计算机上运行的 终端仿真 软件。
这种配置在家庭中应用十分广泛。 例如, 如果您的爱人正忙于在您的 FreeBSD 系统的控制台上工作时, 您就可以将一台功能稍弱的计算机挂在这个 FreeBSD 系统上来同时完成一些文本界面的工作。
在 FreeBSD 的基本系统中至少有两个能用于进行串口连接的工具: cu(1) 和 tip(1)。
如果要从运行 FreeBSD 的计算机上通过串口连接到另一系统, 可以使用:
#
cu -l 串口设备
此处 “串口设备” 表示您计算机上某个串口对应的设备名。
/dev/cuauN
。
此处的 “N” 表示串口的编号。
请注意在 FreeBSD 中设备的编号是从零而非一开始的
(这一点与另一些系统, 如基于 MS-DOS® 的系统不同)。
因此, 在基于 MS-DOS® 系统中的
COM1
在 FreeBSD
中通常叫做 /dev/cuau0
。
其他一些人可能喜欢使用另一些来自 Ports 套件的程序。 Ports 中提供了几个与 cu(1) 和 tip(1) 类似的工具, 例如 comms/minicom。
这节描述了您在一个终端上启用一个登录会话时, 需要在 FreeBSD 系统上进行的配置。 假设已经配置好了内核来支持串口, 就可以直接开始连接了。
在 第 13 章 FreeBSD 引导过程 中曾经提到, init
进程依赖于系统启动时所有的处理控制和初始化。
通过 init
来执行的一些任务将先读取
/etc/ttys
文件,
然后在可用的终端上启用一个 getty
进程。
getty
进程可用来阅读一个登录名和启动
login
程序。
然而,要为您的FreeBSD系统配置终端,您需要以
root
身份执行下面的步骤:
如果它不在那里, 您需要为串口在
/dev
目录下添加一行记录到
/etc/ttys
。
指定 /usr/libexec/getty
在端口上运行,
然后从 /etc/gettytab
文件指定适当的
getty
类型。
指定默认的终端类型。
设置端口为 “on”。
确定端口是否为 “secure”。
迫使init
重新读取
/etc/ttys
文件。
作为可选的步骤,您可以通过在 /etc/gettytab
中建立一个记录,在第2步创建一个定制的
getty
类型来使用。这章不会介绍如何做。
您可以参考 gettytab(5) 和 getty(8)
的联机手册了解更多信息。
/etc/ttys
文件列出了您
FreeBSD系统上允许登录的所有端口。 例如, 第一个虚拟控制台
ttyv0
在这个文件中有一个记录。
您可以使用这个记录登录进控制台。
这个文件也包含其他虚拟控制台的记录,串口,和伪 ttys 终端。
对于一个硬连线的终端, 只要列出串口的
/dev
记录而不需要
/dev
部分 (例如,
/dev/ttyv0
可以被列为
ttyv0
)。
默认的 FreeBSD 安装包括一个支持最初四个串口
ttyu0
到 ttyu3
的/etc/ttys
文件。
如果您从那些端口中某一个使用终端,您不需要添加另一个记录。
/etc/ttys
中增加终端记录假设我们连接两个终端给系统: 一个 Wyse-50 和一个老的运行
Procomm 终端软件模拟一个
VT-100 终端的286IBM PC。 在 /etc/ttys
文件中的相应的记录是这样的:
ttyu1 "/usr/libexec/getty std.38400" wy50 on insecure ttyu5 "/usr/libexec/getty std.19200" vt100 on insecure
第一部分指定了终端指定文件的名称, 它可以在
| |
第二部分是在这行执行的命令,通常是 getty(8)。
文件 当在 | |
第三部分是通常连接到那个tty行的终端类型。对于拨号端口,
在我们的例子中, Wyse-50 使用真正的终端类型, 而运行 Procomm 的286 PC将被设置成在VT-100上的模拟。 | |
如果端口被启用,可以指定第四个部分。在第二部分,
把它放在这儿将执行初始化进程来启动程序
| |
最后部分被用来指定端口是否安全。
标记一个安全的端口意味着您信任它允许用 |
即使您小心翼翼地注意细节,您仍然可能会在设置终端时出错。 这有一个有关问题和解决办法的列表:
确定终端被嵌入和打开了。如果把一台个人计算机充当一个终端, 确信终端模拟软件运行在正确的串口上。
确信线缆被稳固地连接在终端和 FreeBSD 计算机上。 确信用了正确的电缆。
确定终端和 FreeBSD 的传输速度和奇偶设置已经一致了。 如果您有一个图像显示终端,确信对比度已经调节好了。 如果它是一个可打印的终端,确信纸张和墨水已经就绪了。
确定一个 getty
进程正在运行和服务终端。
例如, 可以用ps
命令得到运行
getty
程序的列表,键入:
#
ps -axww|grep getty
您将看到一个终端的记录。例如,下面的显示表明一个getty
正在第二个串口 ttyu1
运行,
正在 /etc/gettytab
中使用 std.38400
的记录:
22189 d1 Is+ 0:00.03 /usr/libexec/getty std.38400 ttyu1
如果没有 getty
进程运行,
确信您已经在/etc/ttys
中启用了端口。
在修改完/etc/ttys
文件后,记得运行
kill -HUP 1
。
如果 getty
进程确实在运行,
但终端上仍然没有显示出登录提示, 或者虽然显示了单缺不允许您输入,
您的终端或电缆可能不支持硬件握手。 请尝试将
/etc/ttys
中的
std.38400
改为
3wire.38400
(注意在改完
/etc/ttys
之后要
kill -HUP 1
)。
3wire
记录和
std
类似, 但忽略硬件握手。
您可能需要在使用 3wire
时减少波特率或启用软件流控制以避免缓冲区溢出。
确信终端和 FreeBSD 使用相同的 bit/s 传输率和奇偶校验设置。
检查一下 getty
进程确信当前使用正确的
getty
类型。 如果没有,
编辑/etc/ttys
然后运行kill
-HUP 1
。
本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
如果对于FreeBSD有问题,请先阅读
文档,如不能解决再联系
<[email protected]>.
关于本文档的问题请发信联系
<[email protected]>.