在 Linux 系统中,getty
是一个关键的系统进程,负责管理物理或虚拟终端(TTY)的用户登录流程。以下是详细说明:
getty
设置终端参数(如波特率、行结束符等)。login:
提示符,等待用户输入用户名。login
程序,由后者完成密码验证和会话启动。agetty
(Linux 常用)、mgetty
(支持调制解调器)、mingetty
(轻量级,仅虚拟终端)。systemd
的 getty
替代品(如 systemd-logind
)。/etc/gettydefs
或 /etc/inittab
(传统 SysV init 系统)。getty@.service
单元管理(如 /etc/systemd/system/getty.target.wants/getty@tty1.service
)。bash
ps aux | grep getty
bash
sudo systemctl restart getty@tty1.service
问题:终端无登录提示。
getty
进程是否运行:pgrep -a getty
journalctl -u getty@tty1
(针对 tty1)systemctl is-enabled getty@tty1
问题:串口终端无法连接。
getty
配置了正确的串口参数(如波特率):stty -F /dev/ttyS0 9600 cs8 -parenb
agetty -L 9600 ttyS0 vt100
login
的关系getty
仅负责初始化终端和获取用户名,实际认证由 /bin/login
完成。流程如下:
mermaid
graph LR
Getty -->|"login:"| User
User -->|输入用户名| Getty
Getty -->|传递用户名| Login
Login -->|验证密码| Shell
bash
sudo systemctl mask getty@tty4.service # 禁用 tty4
通过理解 getty
的作用和配置方法,您可以有效管理 Linux 系统的终端访问。如需进一步调试,建议结合系统日志(/var/log/auth.log
或 journalctl
)进行分析。