Aumenta la dimensione del buffer di scrollback del terminale Linux


16

Sto usando i server CentOS 5.4 installati in una macchina virtuale VMWare senza nessun server X.Org installato, quindi tutto l'accesso avviene tramite riga di comando e terminale Linux. Uso Shift-PgUp per visualizzare il buffer di scrollback, ma le sue dimensioni sono molto limitate. Come faccio ad aumentare le dimensioni del buffer di scorrimento?


Risposte:


7

Hmm ... non ho notato quanti anni aveva fino a quando non avevo quasi finito. Dato che quest'area non è ben documentata da nessuna parte e ho quasi finito di scrivere la risposta, lo farò comunque.

Se si utilizza la console Framebuffer, è possibile utilizzare il fbcon=scrollback:parametro al momento dell'avvio per aumentare le dimensioni dello scorrimento. Probabilmente non lo stai usando però.

Invece probabilmente passerai attraverso la console VGA standard. C'è un altro bivio qui. Se hai un kernel compilato con il VGACON_SOFT_SCROLLBACKparametro abilitato, è possibile aumentare lo scrollback dei moduli del kernel VGA, cambiando VGACON_SOFT_SCROLLBACK_SIZE. Ma dovrai ricompilare il kernel per farlo. Vedi una risposta precedente per un esempio delle cose da cambiare, e ho bisogno di costruire un kernel personalizzato per i dettagli su come farlo su CentOS. Ritengo improbabile che tu sia disposto a passare tutto questo, ma se stai già creando un kernel personalizzato potrebbe essere facile per te.

Se VGACON_SOFT_SCROLLBACKè disattivato, non hai questa opzione. In tal caso, lo scrollback è effettivamente archiviato nella memoria VGA, il che lo rende molto limitato. L'unica cosa che puoi davvero fare in quel caso è ridurre il numero di terminali virtuali avviati di default.

Il kernel CentOS standard è costruito con queste opzioni:

CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64

Quindi probabilmente stai guardando il "ricompilare il kernel con più grandi CONFIG_VGACON_SOFT_SCROLLBACK_SIZE" come opzione principale. Forse puoi invece passare al driver del framebuffer.

Di fronte a questo problema, invece di correggere lo scrollback del kernel, userei invece lo schermo. Ottieni anche molti altri vantaggi.


4

Ecco un articolo che parla dell'impostazione della dimensione usando un parametro di avvio framebuffer.

Citando brevemente:

L'esempio seguente fa riferimento a GRUB ma può essere facilmente adattato a LILO. In 'menu.lst' di GRUB, trova la riga del kernel appropriata e:

un. elimina l'opzione 'vga = xxx', se presente
b. aggiungi l'opzione 'video = vesabf' o qualunque cosa si adatti al tuo hardware
c. aggiungi opzione 'fbcon = scrollback: 128'

La linea del kernel sarebbe quindi simile alla seguente;

kernel / vmlinuz root = / dev / sdb5 video = radeonfb fbcon = scrollback: 128


1

IMHO, devi eseguire questo comando:

schermo -h 5000

In modo che il buffer sarà di 5000 righe.

Ovviamente, puoi specificare il numero di righe secondo le tue necessità.


Non funziona sul terminale nativo. Ho provato e nulla è cambiato.
japzone,

japzone ha ragione. Questo è specificamente se stai avviando una sessione dello schermo, che è una cosa completamente diversa, che vedere l'output nel terminale.
Goldenmean
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.