如何使用agetty(不是systemd)启动新终端

如何使用agetty(不是systemd)启动新终端

为了学习,我想从命令提示符启动一个新终端(假设是 tty10)。我知道我可以运行,但我现在想手动运行它。我检查了 systemd 服务 getty@ 它使用以下命令行:sudo systemctl start [email protected]

/sbin/agetty -o '-p -- \\u' --noclear %I $TERM

因此,尝试从终端(tty1)复制它,我运行了以下命令:

sudo /sbin/agetty -o '-p -- <username>' --noclear tty10 linux

它确实在终端 10 启动了一个新的登录提示,我输入用户名,但它从不提示输入密码。此外,当我返回 1 号航站楼时,我看到它已注销。我究竟做错了什么?

答案1

不幸的是,agetty应该在inittab或作为systemd单位坚持下去。

至于agetty在 shell 中,它确实不是设计来在前台运行并控制其他终端的,正如另一篇文章中提到的这里

将其作为一个systemd单元执行将使其能够稳定地持续存在,并且不会关闭连接或用于执行的父 shell agetty

如果您只想检查是否能够在服务器和客户端之间建立连接,可以执行以下操作:

  • 在服务器上:# /sbin/agetty -L 115200 ttyS0 vt102
  • 在客户端: # screen /dev/ttyS0 115200

/dev/ttyS0你的串行连接在哪里。如果出现登录提示,则表明连接良好。为了让它持续存在,必须是一个systemd整体。欲了解更多信息:

相关内容