Powiedzmy, że mam aktualnie uruchomioną sesję ekranową, z którą wchodzę w interakcję poprzez kit. Zdałem sobie sprawę, że bufor przewijania jest za mały i chciałbym go zwiększyć bez rozpoczynania nowej sesji ekranowej.
Czy jest na to sposób?
Powiedzmy, że mam aktualnie uruchomioną sesję ekranową, z którą wchodzę w interakcję poprzez kit. Zdałem sobie sprawę, że bufor przewijania jest za mały i chciałbym go zwiększyć bez rozpoczynania nowej sesji ekranowej.
Czy jest na to sposób?
Odpowiedzi:
Strona mężczyzna wyjaśnia, że można wejść do trybu wiersza poleceń w sesji uruchomiony przez wpisywanie Ctrl+ A, :, a następnie wydając scrollback <num>
komendę.
<num>
jest liczba linii przewijania
scrollback <num>
, nie pomoże ci już rozszerzyć bufora, musisz ponownie wykonać ostatnie polecenie, aby uzyskać cały bufor historii.
Naciśnij Ctrl-anastępnie, :a następnie wpisz
scrollback 10000
na przykład, aby uzyskać bufor linii 10000.
Możesz również ustawić domyślną liczbę linii przewijania, dodając
defscrollback 10000
do twojego ~/.screenrc
pliku.
Aby przewijać (jeśli terminal domyślnie nie pozwala na to), naciśnij, Ctrl-a ESCa następnie przewiń (w zwykły sposób Ctrl-fna następną stronę lub Ctrl-ana poprzednią stronę lub tylko kółkiem myszy / dwoma palcami). Aby wyjść z trybu przewijania, wystarczy nacisnąć ESC.
Kolejna wskazówka: Ctrl-a ipokazuje twoje bieżące ustawienie bufora.
byobu-screen
na Ubuntu 12.04 wydaje się ustawić defscrollback na 10000
startup_message off' and 'defscrollback 5000' into my newly created
~ / .screenrc` i dostaje pierwszą linię, ale druga wydaje się być ignorowana.
Podczas uruchamiania sesji „screen” w ramach „sesji putty” jest minimalna ilość „domyślnego” bufora. W swojej pracy często używam ekranów, więc mogę powiedzieć, że nie będziesz mieć kombinacji bufora „screen” i bufora „putty” w sesji „screen”.
Ustawienie domyślnej liczby linii przewijania przez dodanie defscrollback 10000
do ~/.screenrc
pliku jest właściwym rozwiązaniem.
Nawiasem mówiąc, w moim ./screenrc
pliku używam „defscrollback 200000” .
Jak już wspomniano, mamy dwa sposoby!
I odbywa się to interaktywnie! I zacznij działać natychmiast!
CTRL + Aa następnie :I piszemy scrollback 1000000
I uderzamyENTER
Odłączasz się od ekranu i wracasz! Zawsze będzie tak samo.
Otworzysz kolejny nowy ekran! A wartość jest ponownie resetowana do wartości domyślnej! Więc to nie jest ustawienie globalne!
Dokonuje się tego poprzez dodanie defscrollback 1000000
do .screenrc
(w domu)
defscrollback
i nie scrollback
(def oznacza domyślnie)
Musisz wiedzieć, że plik nie został utworzony! Ty to tworzysz !
> cd ~ && vim .screenrc
I dodajesz defscrollback 1000000
do tego!
Lub jednym poleceniem
> echo "defscrollback 1000000" >> .screenrc
(jeśli jeszcze nie zostało utworzone)
Po dodaniu wartości domyślnej do .screenrc
! Już uruchomiony ekran przy ponownym dołączeniu nie zadziała! .screenrc
Prowadzony przy tworzeniu ekranu! I to ma sens! Podobnie jak w przypadku normalnego uruchamiania konsoli i powłoki!
Wszystkie nowo utworzone ekrany będą miały ustawioną wartość!
Aby sprawdzić wpisz, CTRL + Aa następniei
Rezultat będzie taki jak
Co ważne, rozmiar bufora to liczba po znaku +
(na ilustracji ustawiłem go na 1 000 000)
Pamiętaj też, że kiedy zmienisz to interaktywnie! Efekt jest natychmiastowy i przejmuje domyślną wartość!
CTRL+ Aa następnie ESC(aby przejść do trybu kopiowania).
Następnie nawiguj za pomocą Up, DownlubPgUp PgDown
I ESCponownie, aby wyjść z tego trybu.
(Dodatkowe informacje: aby skopiować hit, ENTERaby rozpocząć wybieranie! Następnie ENTERponownie, aby skopiować! Proste i fajne)
Teraz bufor jest większy!
I to wszystko podsumowuje ważne szczegóły!
OSTRZEŻENIE: zbyt wysokie ustawienie tej wartości może spowodować znaczną czkawkę w systemie. Im wyższa ustawiona wartość, tym więcej pamięci wirtualnej jest przydzielane procesowi ekranu podczas inicjowania sesji ekranu. Ustawiłem ~ / .screenrc na „defscrollback 123456789” i kiedy zainicjowałem ekran, cały mój system zawiesił się na dobre 10 minut, zanim wróciłem do punktu, w którym byłem w stanie zabić proces ekranu (który zużywał 16,6 GB VIRT mem).
Dla potomnych ta odpowiedź jest nieprawidłowa, jak zauważył Steven Lu. Pozostawia jednak oryginalny tekst.
Oryginalna odpowiedź:
Do osób przybywających przez wyszukiwarkę internetową (kilka lat później) ...
Podczas korzystania z ekranu bufor przewijania jest kombinacją zarówno screen
bufora przewijania, jak wspomniano w dwóch poprzednich odpowiedziach, jak i bufora przewijania kitu.
Upewnij się, że ZARÓWNO zwiększasz bufor przewijania szpachli, jak i bufor przewijania ekranu, w przeciwnym razie samo okno szpachli nie pozwoli ci przewinąć do tyłu, aby zobaczyć screen
historię przewijania (pokonane przez przewijanie ekranu za pomocą ctrl+a->ctrl+u
)
Możesz zmienić limit przewijania szpachli w kategorii „Okno” w ustawieniach. Wyjście i ponowne otwarcie sesji szpachlowania na ekranie nie zamknie ekranu (zakładając, że po prostu zamkniesz okno szpachlówki i nie piszesz exit
), jak poprosił PO.
Mam nadzieję, że pomoże to ustalić, dlaczego zwiększenie bufora przewijania ekranu nie rozwiązuje czyjegoś problemu.
screen -h <numlines>