回答:
systemd
gettysはオンデマンドで生成されるため、「余分な」TTYを無効にする必要はありませんman systemd-getty-generator
。詳細を参照してください。デフォルトでは、この自動生成はVT6までのVTに対してのみ行われます(従来のLinuxシステムを模倣するため)。
以下のようレナートは、ブログの記事で述べている1:
物事をより効率的にするために、ログインプロンプトはオンデマンドでのみ開始されるようになりました。VTに切り替えると、gettyサービスはgetty @ tty2.service、getty @ tty5.serviceなどにインスタンス化されます。無条件にgettyプロセスを開始する必要がないため、これによりリソースを少し節約でき、起動が少し速くなります。
特定の数のgettyを設定したい場合logind.conf
は、適切なエントリで変更することができます(この例3を参照)。
NAutoVTs=3
1.実際、管理者向けのsystemdである一連の投稿(現在は18番)は、読む価値があります。
Debianベースのシステムでは、サーバーを構築した直後に(dbusサービスなしで)起動時に5つの追加gettyが起動されるファイルがあります。
/lib/systemd/system/getty.target.wants/getty-static.service
その中で、それは言います:
[Service]
Type=oneshot
ExecStart=/bin/systemctl --no-block start getty@tty2.service getty@tty3.service getty@tty4.service getty@tty5.service getty@tty6.service
RemainAfterExit=true
このファイルを削除するだけで、余分なgettyが生成されなくなります。追加のgettyを1つだけ生成する場合(2つのvirtコンソールの場合)は、リストを短くしてください。tty1で自動的に1つを取得するため、常に少なくとも1つの仮想コンソールがあることに注意してください。
dpkg-divert
最初に使用します。しかし、それを邪魔にならないようにシステム化されたネイティブな方法もありsudo systemctl mask getty-static.service
ます-実行し、独自に設定します/etc
mask
有効なサービスがうるさい場合、同じ名前のユニットを作成してその/etc
コンテンツをオーバーライドする方がクリーンです。ゼロの静的gettyを開始する場合は、ExecStart = / bin / trueを使用します。
sudo systemctl edit getty-static.service
よりも優先されるオーバーライド・ファイルが作成されます、/lib
1
特定のTTY 4〜6でgettyを無効にし、1〜3と7〜9を機能させたままにする場合は、次を実行します。
for i in {4..6}; do
systemctl mask getty@tty${i}.service
done
mask
/etc/systemd/system/{name} -> /dev/null
サービスを効果的に無効にするシンボリックリンクを作成します。経由で実行しようとするとsystemctl start
エラーが表示されますFailed to start NAME.service: Unit NAME.service is masked.
A.serviceがある場合Wants=masked.service
、start A
成功しますが、ジャーナルに依存関係開始エラーも生成します。
あなたはB.serviceを持っている場合はRequires=masked.service
、その後start B
も失敗します。
うん、ネクロアンサー。乾杯。