6.3. agetty

agetty 是一个 "替代 getty"。它所有的参数都通过命令行传入,无需使用/etc/gettydefs或任何其他配置文件。agetty 的文档在手册页 agetty(8) 中。

图 6-6 展示了如何调用 agetty 以用于串行控制台。

图 6-6。/etc/inittabagetty 的条目

co:2345:respawn:/sbin/agetty -h -t 60 ttyS0 9600 vt102

ttyS0指的是串行设备/dev/ttyS0.

9600是串行链路的每秒比特数。agetty 将支持多个值,使用调制解调器的CONNECT消息或 RS-232 Break 信号来在它们之间选择。只使用一个值,因为串行控制台只有一个数据速率。

vt102设置TERM环境变量,以指示正在连接 VT100 终端。

-h激活 CTS/RTS 握手。

-t 60允许 60 秒供某人尝试登录,之后调制解调器将挂断。您应该测试此功能以确保当链路空闲时,init 不会每 60 秒重启 agetty。查找 agetty 的持续变化的进程标识符。

agetty 在以下文件中使用转义序列/etc/issue以插入信息。例如,\n.\o \l将显示为remote.example.edu.au ttyS0.

当您注销时,agetty 似乎不会降低数据终端就绪信号以强制调制解调器挂断。如果您希望在登录会话结束时自动断开用户连接,那么您可以考虑使用 mgetty