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

残念ながら、1つのユニットまたは1つのユニットにagetty固執する必要があります。inittabsystemd

agettyシェルにいる場合、他の投稿で述べたように、実際にはフォアグラウンドで実行され、他の端末を制御するように設計されていません。ここ

1単位で実行すると安定して持続する可能性がsystemdあり、実行に使用される接続や親シェルは閉じられませんagetty

サーバーとクライアント間の接続を確立できることを確認するには、次の手順を実行します。

  • サーバーから:# /sbin/agetty -L 115200 ttyS0 vt102
  • クライアント側から: # screen /dev/ttyS0 115200

/dev/ttyS0シリアル接続はどこにありますか?ログインプロンプトが表示されたら、接続は良好です。それが持続するためにはsystemd全体でなければなりません。詳細は:

関連情報