Korzystam z ekranu do zadań w wierszu poleceń podczas zarządzania serwerami, na których pracuję. Zwykle uruchamiam małe polecenia (głównie zadania systemu plików), ale czasami uruchamiam bardziej rozbudowane zadania (takie jak DBA).
Wyjście z tych zadań jest dla mnie ważne. Ponieważ do swoich zadań używam Ubuntu i OS X (oba Terminal Windows), ale muszę używać ekranu, przewijanie nie jest dostępne, więc żadne długie wyjście (myślę, że 500-wierszowa tabela z zaznaczenia) jest dla mnie niewidoczne. Kółko myszy nie wchodzi w rachubę.
Kiedy mówię „przewijanie jest dla mnie niewidoczne, mam na myśli to:
Myślałem o dwóch opcjach:
Wstrzymaj (myśl paginate ) wyjście określonego polecenia. Kiedy zaczyna się wyjście, pozwala mi czytać, co się dzieje, a następnie wciskam „Enter”, a następnie ciągnie się, aż nie będzie już nic więcej do pokazania.
Przewiń ekran wewnętrzny. Ale nie wiem czy to jest możliwe.
Oczywiście nie wiem, czy te opcje są rzeczywiście możliwe . Jeśli tak, to jak je osiągnąć? Inne alternatywy zostaną dobrze przyjęte.
Dobrym rozwiązaniem jest użycie
screen
bufora wskazanego przez njsg . Możesz również wyłączyć alternatywny bufor tekstowy w informacjach xterm termcap na ekranie. Po wyłączeniu możesz używać pasków przewijania (i kółka myszy) do przewijania w górę i w dół.Dodaj to do swojego
~/.screenrc
.Możesz przeczytać więcej dyskusji tutaj .
źródło
screen
otrzymałeś od momentu jego uruchomienia - tj. ponowne podłączenie w innym miejscu oznacza, że nie możesz przewinąć w górę i zobaczyć, co się stało wcześniej. ale nadal możesz odzyskać wcześniejsze dane wyjściowe, korzystając z rozwiązania w zaakceptowanej odpowiedzi - wtedy możesz ponownie użyć kółka myszy.Wszystkie te odpowiedzi dotyczyły sposobu poruszania się w sesji ekranowej, ale wbudowana funkcja polecenia screen służy do przechowywania wszystkiego w pliku za pomocą
-L
argumentu zgodnie z instrukcją, która brzmi:dzięki czemu możesz:
i utworzy plik z
screenlog.#
miejscem, w którym#
jest liczbą dla tego ekranu, zaczynając od 0.Ma to wiele zalet, a najważniejsze dla mnie to:
tailf
do monitorowania postępu w czasie rzeczywistym bez konieczności podłączania się do ekranu.grep
do sprawdzania określonego terminu w dzienniku i generowania powiadomień (e-mail, wyskakujące okienko, voip itp.). Można to zastosować na wielu ekranach bez aktywnego patrzenia na nie.źródło
-L
flagi ekranu, jest to bardzo przydatne! +1screenlog.#
jest generowany w tym samym folderze, w którym wykonuje sięscreen
polecenieUdało mi się uzyskać podstawowe stronicowanie, przesyłając treści do
more
, na przykład:Lub, jeśli chcesz wydrukować kolory w przypadkach użycia takich jak podświetlanie składni, możesz użyć
Rezultatem jest wyjście, które mogę łatwo przeglądać na jednym ekranie na raz. Nie próbowałem modyfikacji @ uther,
~/.screenrc
ale wydaje się to lepsze jako trwałe rozwiązanie, gdy mysz jest dostępna.Aby to wypróbować, możesz przejść do emulatora BusyBox, a następnie ...
Użyj spacji, aby przewijać wyniki
ls -l
polecenia lub użyj klawisza Enter, aby przechodzić między wierszami wyników.źródło