GNU/Linux >> Znalost Linux >  >> Linux

Zabránit konzoli v vyčištění obrazovky?

Řešení 1:

Se systemd jsou věci jiné. Viz článek Stop Clearing My God Damned Console. Ve zkratce:

mkdir /etc/systemd/system/[email protected]
cat >/etc/systemd/system/[email protected]/noclear.conf <<EOF
[Service]
TTYVTDisallocate=no
EOF
systemctl daemon-reload

Ověřte výsledek pomocí systemctl cat [email protected]

Řešení 2:

Většina požadovaných informací bude v /var/log/dmesg a /var/log/messages po nabootování systému byste měli nejprve zkontrolovat tyto soubory.

Obecně na linuxových strojích běží mingetty pro virtuální terminály. Pokud máte tradiční sysv init systém, jsou řízeny /etc/inittab . Můžete přidat --noclear možnost mingetty, aby se zabránilo vymazání obrazovky. Chcete-li to provést, upravte /etc/inittab a změňte tento řádek:

1:2345:respawn:/sbin/mingetty tty1

do

1:2345:respawn:/sbin/mingetty --noclear tty1

poté restartujte počítač.

Některé novější linuxové distribuce používají náhrady init jako Upstart (například Ubuntu). Ty obecně nepoužívají /etc/inittab a místo toho používají některé jiné konfigurační soubory. Zde je diskuse o tom, jak volání mingetty funguje na Ubuntu.

Řešení 3:

Pokud nic jiného nepomohlo, můžete vzít svůj laptop a zachytit celý protokol jádra přes sériovou konzoli přidáním něčeho takového do parametrů jádra:

console=tty0 console=ttyS0,9600n8 console=tty0

To způsobí, že se výstup objeví na sériové konzoli (ve vašem terminálovém programu) a na standardním tty. Někdy je k dispozici SOL (Serial Over LAN).

Řešení 4:

Po hodinách googlování jsem našel řešení v tomto vláknu a této otázce. Tento postup funguje pro Ubuntu 12.04.1 LTS jak je zde také popsáno, ale nemělo by se příliš lišit pro jiné distribuce.

Nejprve přidejte console=tty1 na váš GRUB_CMDLINE_LINUX (Doporučuji také přidat noplymouth zakázat plymouth a jeho zbytečná úvodní obrazovka).

#> sudo vi /etc/default/grub

GRUB_CMDLINE_LINUX="console=tty1 noplymouth"

To vynutí tisk protokolu jádra na tty1 místo tty7 a vyhněte se tty přepnout před výzvou k přihlášení.

Pak stačí přejít do /etc/init a upravit jeden nebo více z tty1.conf , tty2.conf , tty3.conf , tty4.conf , tty5.conf , tty6.conf nebo console.conf . Upravil jsem je všechny přidáním --noclear možnost na getty příkaz. Například úprava tty1.conf :

#> sudo vi /etc/init/tty1.conf

budete muset nahradit:

respawn
exec /sbin/getty -8 38400 tty1

s:

respawn
exec /sbin/getty -8 38400 --noclear tty1

To je vše, váš systém by se nyní měl spustit v jediném tty aniž byste jej vyčistili.


Linux
  1. Linux – Je možné získat přístup k Framebufferu, aby bylo možné umístit pixel na obrazovku z příkazového řádku?

  2. Zabránit spuštění Tmux na Ssh?

  3. Jak zabránit `ls` v třídění výstupu?

  1. Jak příkaz Su maskuje/chrání heslo před zobrazením na obrazovce?

  2. Jak uzamknout obrazovku po probuzení z hibernace?

  3. Jak zabránit uživatelům v přístupu ke kořenovému adresáři?

  1. Je možné pojmenovat soubor protokolu 'screen' z příznaku -L?

  2. Jak zabráním Ubuntu v uspání monitoru?

  3. Jaké je výchozí heslo obrazovky?