システムシステムでVT 1を含むすべてのログインプロンプトを無効にする方法

システムシステムでVT 1を含むすべてのログインプロンプトを無効にする方法

私は本質的に組み込みLinuxでXベースのキオスクプログラムを実行しており、特定の設定でログイン機能を無効にしたいと思います。ブートの最初に、systemdサービスのExecで一部のdistro非特定コンソールコマンドを実行して、最初の仮想端末のログインプロンプトを含むすべてのログインプロンプトを無効にして、systemdサービスの出力のみが強制VTに表示されるようにしたいと思います。また、Xおよびフルスクリーンアプリケーションを起動するには、他のサービスが必要です。

私のサービスファイルは現在注文されています

Before=systemd-logind.service systemd-networkd.service NetworkManager.service dhclient.service
Before=MyKioskApp.service

WantedBy=basic.target

実行ファイルが実行されます。

for UNIT in systemd-logind.service systemd-networkd.service systemd-networkd.socket NetworkManager.service dhclient.service
do
    systemctl stop $UNIT
    systemctl mask --runtime $UNIT
done

他のトリックと組み合わせると、私が望むほとんどのタスクを実行できますが、キオスクアプリでエラーが発生して終了すると、まだログインプロンプトが表示されます。リストにgettyサービスを追加すると、何か問題があるように見えるため、Xは起動を拒否します。一種のPAMモジュールを無効にする必要があると思いますが、その設定を更新するための提案されたコマンドは表示されません。この操作に新しいパッケージを追加することはできませんが、ファイルシステムを変更することはできます。

ベストアンサー1

gettyサービスをマスクすることが正しい選択であることがわかりました。 console-getty.serviceを追加し、[Eメール保護]ブロックされたサービスのリストは、TTY1のログインプロンプトを無効にします。実際、systemd-logindは追加の仮想端末セッションを開始する役割を果たし、gettyは名前と直接矛盾するログインプロンプトを提供する役割を果たします。

おすすめ記事