Soluzione 1:
Con systemd le cose sono diverse. Vedi l'articolo Stop Clearing My God Damned Console. In breve:
mkdir /etc/systemd/system/[email protected]
cat >/etc/systemd/system/[email protected]/noclear.conf <<EOF
[Service]
TTYVTDisallocate=no
EOF
systemctl daemon-reload
Verifica il risultato con systemctl cat [email protected]
Soluzione 2:
La maggior parte delle informazioni che desideri saranno in /var/log/dmesg
e /var/log/messages
dopo l'avvio del sistema, dovresti prima controllare quei file.
Generalmente le macchine Linux eseguono mingetty per i terminali virtuali. Se hai un sistema sysv init tradizionale, questi sono controllati da /etc/inittab
. Puoi aggiungere il --noclear
opzione a mingetty per impedire la cancellazione dello schermo. Per fare ciò, modifica /etc/inittab
e cambia questa riga:
1:2345:respawn:/sbin/mingetty tty1
a
1:2345:respawn:/sbin/mingetty --noclear tty1
quindi riavviare la macchina.
Alcune distribuzioni Linux più recenti usano sostituzioni di init come Upstart (ad esempio Ubuntu). Questi generalmente non usano /etc/inittab e invece usano altri file di configurazione. Ecco una discussione su come chiamare mingetty funziona su Ubuntu.
Soluzione 3:
Se nient'altro ha aiutato, puoi prendere il tuo laptop e catturare tutto il log del kernel attraverso la console seriale aggiungendo qualcosa di simile ai parametri del kernel:
console=tty0 console=ttyS0,9600n8 console=tty0
Ciò farà apparire l'output sulla console seriale (nel tuo programma terminale) e su tty standard. A volte è disponibile SOL (Serial Over LAN).
Soluzione 4:
Dopo ore di googling, ho trovato la soluzione in questo thread e questa domanda. Questa procedura funziona per Ubuntu 12.04.1 LTS
come descritto anche qui, ma non dovrebbe differire troppo per altre distribuzioni.
Innanzitutto, aggiungi console=tty1
al tuo GRUB_CMDLINE_LINUX
(Suggerisco anche di aggiungere noplymouth
per inibire plymouth
e la sua inutile schermata iniziale).
#> sudo vi /etc/default/grub
GRUB_CMDLINE_LINUX="console=tty1 noplymouth"
Questo forza la stampa del log del kernel su tty1
invece di tty7
ed evita il tty
switch prima della richiesta di accesso.
Quindi vai in /etc/init
e modifica uno o più di tty1.conf
, tty2.conf
, tty3.conf
, tty4.conf
, tty5.conf
, tty6.conf
o console.conf
. Li ho modificati tutti aggiungendo --noclear
opzione al getty
comando. Ad esempio, modificando tty1.conf
:
#> sudo vi /etc/init/tty1.conf
dovrai sostituire:
respawn
exec /sbin/getty -8 38400 tty1
con:
respawn
exec /sbin/getty -8 38400 --noclear tty1
Questo è tutto, ora il tuo sistema dovrebbe avviarsi in un singolo tty
senza cancellarlo.