web-dev-qa-db-ja.com

1つの端末でのみ自動ログオンするようにagettyを設定する方法

Ubuntuサーバーを実行して、/lib/systemd/system/[email protected]を次のように再構成しました

[Service]
# the VT is cleared by TTYVTDisallocate
#                       ##ADDED THIS HERE##
ExecStart=-/sbin/agetty -a diagnosticuser --noclear %I $TERM
Type=idle
Restart=always
RestartSec=0
UtmpIdentifier=%I
TTYPath=/dev/%I
TTYReset=yes
TTYVHangup=yes
TTYVTDisallocate=yes
KillMode=process
IgnoreSIGPIPE=no
SendSIGHUP=yes

シェルが診断メニューであるユーザーに、私のおしゃれな小さなデバイスを自動的にログインさせることができます。問題は、すべてのコンソールがそのユーザーに自動的にログインすることです。

最初の1つだけをログインさせ、残りを通常のログインプロンプトのままにする方法はありますか? (ケーキだけでなく食べてもいいですか?)

「/ sbin/agetty」を「diagnosticuser」がすでにログインしているかどうかをチェックするものに置き換えるのではないかと思っていましたが、「-/ sbin/agetty」のハイフンと少し混乱しました。チャンスを逃したくなかった。

1
Peter Turner

ターミナル1の新しいファイル '/lib/systemd/system/[email protected]'を作成し、上記で定義した構成をそのファイルにコピーします。

/lib/systemd/system/[email protected]で、以下を使用します。

ExecStart =-/ sbin/agetty --noclear%I $ TERM

コンソール1は、diagnosticuserとして自動ログインし、他のすべてのコンソールは資格情報の入力を求めます。

1
John Boone