Linux 命令速查
系统管理 man getty

getty

在终端上打开登录提示的程序

返回

补充说明

getty(get tty)负责在虚拟控制台或串口上打开一个 tty、输出登录提示并启动 login 程序,是系统启动后获得交互式登录界面的关键一环。现代 Linux 上通常由 util-linux 的 agetty 提供该功能,getty 往往是到 agetty 的符号链接或兼容入口。

它一般由 init 系统(systemd 的 getty@tty1.service、serial-getty@ttyS0.service)自动拉起,不需要手工执行。只有在调试串口控制台、救援模式或自建 initramfs 时,才会直接调用。

注意:直接在前台运行 getty 会抢占当前终端;测试串口登录时应使用另一条串口线或 -n 等选项谨慎操作。getty 本身不校验密码,认证由它启动的 login 完成。

语法

getty [选项] 端口 [波特率...] [终端类型]

选项

以下为 agetty 常用选项(getty 兼容入口一般同样接受):

  • -8:假定终端为 8 位模式,不重置奇偶校验
  • -a 用户 / --autologin 用户:自动以指定用户登录,跳过密码
  • -f 用户:同 --autologin(部分版本)
  • -h:启用硬件流控(RTS/CTS)
  • -l 程序:指定替代 login 的登录程序
  • -n / --no-issue:不显示 /etc/issue
  • -t 秒:登录提示超时时间
  • -w / --wait-cr:等待回车后再显示登录提示
  • --noclear:启动时不清屏
  • -L:本地线路模式(不检测调制解调器信号)

实例

# 查看当前系统的 getty 服务
systemctl status getty@tty1.service

# 在 ttyS0 上手动启动一个串口登录提示(115200 波特率)
sudo /sbin/agetty -L 115200 ttyS0 vt100

# 临时启用串口控制台服务
sudo systemctl enable --now serial-getty@ttyS0.service

# 查看串口登录服务日志
journalctl -u serial-getty@ttyS0.service -b

在 GRUB 中启用串口控制台的常见写法是给内核参数追加 console=ttyS0,115200n8,同时保留 console=tty0,这样本地与串口都能看到输出。

参考链接