GNU/Linux >> Znalost Linux >  >> Linux

Jak získat méně ttys pomocí Systemd?

Není potřeba deaktivovat "extra" TTY jako v systemd getty se generují na vyžádání:viz man systemd-getty-generator pro detaily. Všimněte si, že ve výchozím nastavení se toto automatické spawnování provádí pouze pro VT až do VT6 (k napodobení tradičních systémů Linux).

Jak říká Lennart v příspěvku na blogu:

Aby byly věci efektivnější, výzvy k přihlášení se nyní spouštějí pouze na vyžádání. Když přepnete na VT, služba getty se vytvoří na [email protected], [email protected] a tak dále. Vzhledem k tomu, že již nemusíme bezpodmínečně spouštět procesy getty, umožňuje nám to ušetřit trochu prostředků a o něco rychlejší spouštění.

Pokud si přejete nakonfigurovat konkrétní počet gettys, můžete, stačí upravit logind.conf s příslušnou položkou, v tomto příkladu 3:

NAutoVTs=3



Na systémech založených na Debianu existuje soubor, který způsobí, že se při spuštění spustí 5 extra getty, pokud jste právě postavili server (bez služby dbus):

/lib/systemd/system/getty.target.wants/getty-static.service

V něm je napsáno:

[Service]
Type=oneshot
ExecStart=/bin/systemctl --no-block start [email protected] [email protected] [email protected] [email protected] [email protected]
RemainAfterExit=true

Pouhým smazáním tohoto souboru zastavíte vytváření dalších getty. Klidně seznam zkraťte, pokud chcete jen vytvořit jednu getty navíc (pro 2 virt konzole). Všimněte si, že jeden automaticky získáte na tty1, takže vždy budete mít alespoň jednu virtuální konzoli.

Viz také:systemd-logind.service se nespustí, pokud chybí dbus


Chcete-li zakázat gettys na konkrétních TTY 4-6 a případně nechat 1-3 a 7-9 funkční, spusťte:

for i in {4..6}; do
  systemctl mask [email protected]${i}.service
done

mask vytvoří symbolický odkaz /etc/systemd/system/{name} -> /dev/null které účinně deaktivují službu. Pokuste se jej spustit pomocí systemctl start zobrazí chybu Failed to start NAME.service: Unit NAME.service is masked.

Pokud máte A.service Wants=masked.service a poté start A uspěje, ale také vygeneruje chybu spuštění závislosti v žurnálu.

Pokud máte B.service Requires=masked.service a poté start B také selže.

Ano, nekroodpověď. Na zdraví.


Linux
  1. Linux – jak získat méně Ttys s Systemd?

  2. Jak nakonfigurovat Systemd tak, aby jednoduchý skript pomocí Standardio převedl do síťové služby?

  3. Jak zabalit službu Systemd?

  1. Jak spravovat služby Systemd pomocí Systemctl v systému Linux

  2. Jak získat systémové statistiky pomocí node.js

  3. Jak spustím skript před vším ostatním při vypnutí pomocí systemd?

  1. Jak vytvořit službu Systemd v Linuxu

  2. Jak napsat spouštěcí skript pro Systemd?

  3. CentOS / RHEL 7 :Jak nakonfigurovat sériové getty pomocí systemd