为了学习,我想从命令提示符启动一个新的终端(比如tty10)。我知道我可以只运行sudo systemctl start getty@tty10.service,但我现在想手动运行它。我检查了systemd service getty@,它使用以下命令行:
/sbin/agetty -o '-p -- \\u' --noclear %I $TERM因此,我试图从终端(tty1)复制这一点,我运行了以下命令:
sudo /sbin/agetty -o '-p -- <username>' --noclear tty10 linux它确实在第10终端启动了一个新的登录提示,我输入了用户名,但它从不提示输入密码。另外,当我回到1号航站楼时,我看到它被注销了。我做错了什么?
发布于 2021-05-10 16:35:27
不幸的是,agetty应该在inittab中或者作为systemd单元持久化。
至于shell中的agetty,它实际上不是为了在前台运行和控制其他终端而设计的,就像在另一个post 这里中提到的那样。
将其作为一个systemd单元来执行,将允许它保持稳定,而不会关闭用于执行agetty的连接或父shell。
如果只想检查是否能够在服务器和客户端之间建立连接,则可以执行以下操作:
# /sbin/agetty -L 115200 ttyS0 vt102# screen /dev/ttyS0 115200/dev/ttyS0是您的串行连接所在的位置。如果您得到一个登录提示,连接是好的。要想持久化,必须是一个systemd单元。欲了解更多信息:
https://unix.stackexchange.com/questions/544829
复制相似问题