Zwiększ rozmiar bufora przewijania terminalu linux

16

Używam serwerów CentOS 5.4 zainstalowanych na maszynie wirtualnej VMWare bez zainstalowanego serwera X.Org, więc cały dostęp odbywa się za pośrednictwem wiersza poleceń i terminala linux. Używam Shift-PgUp, aby wyświetlić bufor przewijania, ale jego rozmiar jest bardzo ograniczony. Jak zwiększyć rozmiar bufora przewijania?

ładowarka
źródło

Odpowiedzi:

7

Hmm ... nie zauważyłem, ile to było lat, dopóki prawie nie skończyłem. Ponieważ ten obszar nigdzie nie jest dobrze udokumentowany i prawie kończę pisać odpowiedź, i tak będę żołnierzem.

Jeśli używasz konsoli Framebuffer, możesz użyć fbcon=scrollback:parametru w czasie uruchamiania, aby zwiększyć rozmiar przewijania. Prawdopodobnie jednak tego nie używasz.

Zamiast tego prawdopodobnie przechodzisz przez standardową konsolę VGA. Tutaj jest kolejny rozwidlenie. Jeśli masz skompilowane jądro z VGACON_SOFT_SCROLLBACKwłączonym parametrem, możesz zwiększyć przewijanie modułów jądra VGA, zmieniając je VGACON_SOFT_SCROLLBACK_SIZE. Aby to zrobić, musisz jednak ponownie skompilować jądro. Zobacz wcześniejszą odpowiedź na przykład rzeczy, które należy zmienić, i muszę zbudować niestandardowe jądro, aby uzyskać szczegółowe informacje na temat tego, jak to zrobić w CentOS. Uważam, że jest mało prawdopodobne, abyś przejrzał to wszystko, ale jeśli już budujesz niestandardowe jądro, może to być dla ciebie łatwe.

Jeśli VGACON_SOFT_SCROLLBACKjest wyłączone, nie masz tej opcji. W takim przypadku przewijanie jest faktycznie przechowywane w pamięci VGA, co czyni go bardzo ograniczonym. Jedyne, co możesz naprawdę zrobić w tym przypadku, to domyślnie zmniejszyć liczbę wirtualnych terminali.

Standardowe jądro CentOS jest zbudowane z następujących opcji:

CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64

Prawdopodobnie więc patrzysz na „rekompilację jądra z większym CONFIG_VGACON_SOFT_SCROLLBACK_SIZE” jako główną opcją. Może zamiast tego możesz przełączyć się na sterownik bufora ramki.

W obliczu tego problemu, zamiast naprawić przewijanie jądra, zamiast tego użyłbym screena. Uzyskaj wiele innych korzyści.

Greg Smith
źródło
4

Oto artykuł, który mówi o ustawianiu rozmiaru za pomocą parametru rozruchu bufora ramki.

Cytując krótko:

Poniższy przykład odnosi się do GRUB, ale można go łatwo dostosować do LILO. W 'menu.lst' GRUBA znajdź odpowiednią linię jądra i:

za. usuń opcję „vga = xxx”, jeśli jest obecna
b. dołącz opcję „video = vesabf” lub cokolwiek innego, co pasuje do twojego sprzętu
c. dołącz opcję „fbcon = scrollback: 128”

Linia jądra wyglądałaby wtedy następująco;

jądro / vmlinuz root = / dev / sdb5 video = radeonfb fbcon = scrollback: 128

Wstrzymano do odwołania.
źródło
1

IMHO, musisz wykonać to polecenie:

ekran -h 5000

Tak, że bufor będzie miał 5000 linii.

Oczywiście możesz określić liczbę wierszy zgodnie ze swoimi potrzebami.

SHW
źródło
Nie działa na rodzimym terminalu. Próbowałem i nic się nie zmieniło.
japzone 16.12.12
japzone ma rację. Jest to szczególnie ważne, jeśli zaczynasz sesję ekranu, co jest zupełnie inną rzeczą niż wyświetlanie danych wyjściowych w terminalu.
goldenmean