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.