FreeBSD handbook中文版 15 串口通讯(2)
2008-02-23 08:01:57来源:互联网 阅读 ()
运行启用devfs 的FreeBSD 版本,你就可以跳过这一节。
一个在/dev 目录下的叫做MAKEDEV 的shell 脚本管理着设备的特殊文件。要使用
MAKEDEV 来编译拨号设备,以使用COM1:(port 0),cd 进入/dev,然后执行命令MAKEDEV
ttyd0。同样地,要编译拨号设备以使用COM2:(port 1),可以执行MAKEDEV ttyd1。MAKEDEV
不仅仅创建/dev/ttyd N设备特殊文件,也创建/dev/cuaa N, /dev/cuaia N, /dev/cuala N,
/dev/ttyld N, 和/dev/ttyid N节点。
编译完支持新设备的特殊文件之后,需要检查文件的权限来确定谁可以在这些文件上读
写—你可能不想让普通的用户来使用你的modem 吧。默认的在/dev/cua*上的权限应当比较
充分:
crw-rw---- 1 uucp dialer 28, 129 Feb 15 14:38 /dev/cuaa1
crw-rw---- 1 uucp dialer 28, 161 Feb 15 14:38 /dev/cuaia1
crw-rw---- 1 uucp dialer 28, 193 Feb 15 14:38 /dev/cuala1
这些许可允许用户uucp 和在组拨号上的用户使用呼出设备。
15.2.5 串行端口配置
ttyd N (或cuaa N)设备是你要打开你的应用程序的规则设备。当一个进程打开某个设备,
它将有一个终端I/O 的默认设置。你可以在命令行看这些设置:
# stty -a -f /dev/ttyd1
当你修改了这个设备的设置,这个设置会生效,除非设备被关闭。当它被重新打开时,
它将回到默认设置。要修改默认设置,你可以打开和调整initial state 设备的设置。例如,
要打开CLOCAL 模式,8 位通讯,默认的XON/XOFF 流控制,键入:
第5 页FreeBSD 使用手册
# stty -f /dev/ttyid5 clocal cs8 ixon ixoff
系统的串行设备的初试化可以在/etc/rc.serial 中被控制。这个文件影响了串行设备
的默认设置。
要防止某个设置被一个应用程序所修改,需要调整lock state 设备。例如,要锁定ttyd5
的速度为57600 bps,键入:
# stty -f /dev/ttyld5 57600
现在,一个打开ttyd5 和设法改变端口速度的应用程序将被固定在57600 bps。很自然
地,你需要确定初始情形,和锁定设备的写入状态,只有root 才能写。
15.3 终端
当你不在电脑控制台或不在一个连接的网络上时,终端提供了一个方便和低成本的访问
你的FreeBSD 系统的方法。这节描述了如何在FreeBSD 上使用终端。
15.3.1 终端的用法和类型
早期的UNIX 系统没有控制台。人们通过将终端连接到电脑的串行口来登陆和使用程序。
它很象用一个modem 和一些终端软件来拨号进入一个远程的系统只执行文本的工作。
今天的PC 已经可以使用高质量的图形了,但与今天的其他UNIX 操作系统一样,建立一
个登陆的能力仍然存在;通过使用一个终端连接到一个没有使用的串行口,你就能登陆和运
行任何文本程序或在X Window System 中运行一个xterm 窗口程序。
对于商业用户,你可以配上任何终端到FreeBSD 系统,然后把它们放在员工的桌面上。
对于一个家庭用户,可以使用一台比较老的IBM PC 或Macintosh 运行一个终端连接到一台
运行FreeBSD 的高性能机器上。
对于FreeBSD,有三种终端:
. Dumb 终端
. 充当终端的PCs
. X 终端
第6 页FreeBSD 使用手册
下面的小节将描述每一种。
15.3.1.1 Dumb 终端
Dumb 终端可以适应好几种硬件,让你通过串行线连接到电脑。他们被叫做dumb 是因为
他们只能够用来显示、发送和接受文本。你不能在它上面运行任何程序。
有好几百种dumb 终端被制造,包括Digital Equipment Corporation's VT-100 和
Wyse's WY-75。只有几种可以在FreeBSD 上工作。一些高端的终端可以显示图形,但只有某
些软件包可以使用这些高级特性。
15.3.1.2 充当终端的PCs
如果一个dumb 终端有足够的能力来显示、发送和接受文本,那这些个人电脑可以作为
一个dumb 终端。你所需要的只是适当的线缆和一些终端模拟软件。
这样一个配置被广泛运用于家庭。例如,如果你的妻子忙于在你的FreeBSD 系统控制台
上工作,你也可以从一台低档的个人电脑登陆到FreeBSD 系统执行一些文本的工作。
15.3.1.3 X 终端
X 终端是最复杂的终端系统。它们通常需要使用以太网来连接。他们能显示任何X 应用
程序。我们介绍X 终端只是为了感兴趣。然而,这章不会涉及X 终端的安装、配置或使用。
15.3.2 配置
这节描述了你在一个终端上启用一个登陆活动,需要你在FreeBSD 系统上配置些什么。
假设你已经配置好了你的内核来支持串行端口,你就可以连接了。
回想起第7 章,init 进程依赖于系统启动时所有的处理控制和初始化。通过init 来执
行的一些任务将先读取/etc/ttys 文件,然后在可用的终端上启用一个getty 进程。getty
进程可用来阅读一个登陆名和启动登陆程序。
然而,要配置你FreeBSD 系统的终端,你需要以root 来执行下面的步骤:
1. 如果它不在那儿,你需要为串行端口在/dev 目录下添加一行记录到/etc/ttys。
2. 指定/usr/libexec/getty 在端口上运行,然后从/etc/gettytab 文件指定适当的
getty类型。
第7 页FreeBSD 使用手册
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 文件中的相应的记录是这样的:
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash
