补充说明
agetty 是 util-linux 提供的 getty 实现,负责打开一个 tty 设备、设置波特率与终端类型,显示登录提示并最终启动 login。它通常由 systemd 的 getty@tty1.service 等单元自动拉起,很少需要手工运行。
在串口控制台、嵌入式设备或无 systemd 的环境中,常直接写 agetty -L 115200 ttyS0 vt100 来提供串口登录。注意 -a 自动登录会绕过密码验证,只应出现在受控的调试环境中。
语法
agetty [选项] 端口 [波特率...] [终端类型]
选项
-8:假定终端为 8 位模式-a USER:自动以指定用户登录-f USER:与-a类似,但保留已有登录名提示-l PROGRAM:指定登录程序,默认/bin/login-n:不提示主机名-t SECONDS:登录提示超时时间-w:等待用户按回车后再显示登录提示-L:本地线路,不检测载波信号(串口常用)
实例
# 在第二个虚拟终端上提供登录界面
sudo agetty /dev/tty2
# 串口控制台:115200 波特率,终端类型 vt100
sudo agetty -L 115200 ttyS0 vt100
# 查看当前 getty 服务
systemctl status getty@tty1
# 在串口上临时启用自动登录(仅调试)
sudo agetty -a root -L 115200 ttyS0 vt100
现代系统应通过 systemd 覆盖单元或 systemctl enable serial-getty@ttyS0 来持久配置,而不是手工启动。