web-dev-qa-db-ja.com

systemdで「askfirst」getty(「Enterキーを押してこのコンソールをアクティブ化」)

systemdを使用するDebianJessieシステムで、Press enter to activate this consoleのようなメッセージが表示され、Enterキーを押す前にログインプロンプトが表示されないように端末を設定するにはどうすればよいですか?

inittabを使用すると、これはaskfirstを構成することで実行できますが、systemdを使用して実行するにはどうすればよいですか?

可能であれば既存のsystemdユニットファイルを直接操作するのではなく、適切な構成ファイルを調整したい-logind.confがあるのと同じように、残念ながらその構成ファイルは調整しませんこの場合はAFAIKを助けてください。

2
Udo G

/etc/inittabを使用すると、これはaskfirstを構成することで実行できます…

実際にはできませんでした。これは、Linux System 5initクローンには存在しないBusyBoxinitメカニズムであり、/etc/inittab構成ファイルが同じものではないいくつかの方法の1つです。

Systemd Linuxオペレーティングシステムで同様のことを行う方法は、実際に行っていることによって異なります。あなたは明らかにここにいますが、必ずしもインタラクティブな端末ログオンのためだけにそれを使用するわけではありません。

askfirstの一般的な使用法の1つは、未使用の仮想端末に対してgetty + loginシステムを実行していないためです。 systemdは、このためにデフォルト以外の設定を必要としません。 systemdを使用すると、パッケージ化されたlogindサービスは、仮想端末がフォアグラウンドに切り替えられたときに、オンデマンドでautovt@N.serviceサービスのみを開始するようにすでに調整されています。ターミナルログインは、切り替えられていない(そして最初のまたは「予約済み」の仮想ターミナルではない)仮想ターミナルでは実行されません。

仮想端末に切り替えてEnterを押すまで、getty + loginシステムを起動しないというわずかに異なるセマンティクスは、スイッチをオンにする必要があるため、実現が少し難しくなります。 gettyオプション、またはメッセージを出力し、入力行を待ってからgettyにチェーンするプログラムを挿入します。

Peter Orbaekのgetty--wait-crがあるなど、そのようなオプションを備えているagettyプログラムはごくわずかです。ほとんど(Felix vonLeitnerのfgettyやFlorianLa Rocheのmingettyなど)はそうではありません。残り(Gert Doeringのmgettyなど)は、モデムとそのすべての付属品を期待するものです。もちろん、仮想端末にはないため、仮想端末の使用に適応させるのはやや注意が必要です。

仮想端末での--wait-crに相当するチェーンロードは、メッセージを出力し、端末から行を読み取り(正規モードで)、チェーンロードする単純なプログラムです。これはかなり単純なプログラムです。

このようなオプションを使用する、異なるgettyプログラムを使用する、またはgettyの「前」にユーティリティチェーンロードプログラムを挿入する場合はすべて、/etc/systemd/systemの下にsystemctl editを使用して1つ以上のユニットファイルオーバーライドファイルを書き込む必要があります(ExecStart設定を変更する)または、[email protected]ではなく、自分で考案したローカルユニットファイルを[email protected]にポイントするだけです。

参考文献

2
JdeBP