W Ubuntu chcę przewijać w górę, gdy polecenie jest uruchomione w oknie terminala i generuje nowe dane wyjściowe (w rzeczywistości uruchomione polecenie to rspec). Mogę przewijać w górę, ale za każdym razem, gdy rspec generuje nowy wiersz wyjścia konsoli, zrzuca mnie z powrotem na dół. Czy istnieje sposób przewijania w górę? Używam terminatora na Linux Mint / Ubuntu 12.04 LTS
AKTUALIZACJA
Znalazłem możliwe obejście strony głównej Terminatora mówi, że z
stty ixon
możesz włączyć „Sterowanie przepływem XON / XOFF dla wyjścia końcowego. Będąc w stanie wstrzymać wyjście, wpisując ^ S i wznowić je, naciskając ^ Q [...]”
Nie było to jednak całkowicie to, czego chciałem, bez konieczności wstrzymywania wyjścia (i być może zastanawiania się, kiedy zapomnisz włączyć go ponownie). Pomyślałem, że może istnieć prosty klawisz modyfikujący, taki jak shft-alt z przewijaniem kółka myszy. Dowolny lepsze rozwiązania?
xfce4-terminal
ma opcję o nazwie Przewiń na wyjściu , którą możesz odznaczyć i robi to, o co prosiłeś.tail -f file.txt
zobaczyć, jak jest generowany. Dzięki temu Twój pierwszy terminal będzie mógł przewijać wstecz i nadal będziesz mógł oglądać dane wyjściowe w czasie rzeczywistym. Nie elegancki, wiem.Odpowiedzi:
Chociaż jestem trochę spóźniony, zamieszczam to tutaj, aby każdy, kto tu przyjdzie, znalazł rozwiązanie. Dla mnie rozwiązaniem tego samego problemu było:
Preferencje terminatora -> karta Profile -> karta Przewijanie [sub] -> Odznacz opcję „Przewiń przy wyjściu”.
Zaletą tej opcji jest to, że nadal będzie przewijać dane wyjściowe, gdy znajdziesz się na samym dole danych wyjściowych, ale gdy tylko przewiniesz w górę, zatrzyma się i nie będzie Ci przeszkadzać, nawet jeśli zawartość wyjściowa nadal jest wyświetlana wygenerowane.
mam nadzieję, że to pomoże
źródło
tail -f log.txt | less
zaktualizuje się, aby przejść do nowych informacji, a następnie możesz przejść w górę lub w dół. Możesz także użyćless
funkcji wyszukiwania i tak dalej. Metodą potokową można także analizować ruchome dane wyjściowe.I ten sam pomysł, ale bez rury:
less +F log.txt
.(Zakłada się, że możesz pracować z treściami w ten sposób.)
Stary uniksowy sposób polegał na wciśnięciu Ctrl-S w twoim terminalu, aby zatrzymać, a Ctrl-Q, aby ponownie rozpocząć przewijanie danych wyjściowych - to jest po prostu to, co pozwala terminator
stty ixon
.Po dodaniu pasków przewijania wydaje mi się to całkiem przyzwoite - naciśnij Control-S, przewiń w górę do tego, co chcesz, a następnie Control-Q, aby wrócić. Tak, czasami zapomnisz cofnąć wyjście.
Ponieważ jestem wyjątkowo leniwy i ponieważ lubię elastyczność przekierowywania danych wyjściowych, używałbym tail -f z potokiem (zakładając, że pasuje to do przypadku). Potem mogę go zatrzymać, strzałkę w górę i dodać coś w stylu grepa, a on nadal działa:
tail -f tac_plus.log | less | egrep 'peerip'
Rzuć trochę
cat
s, atee
będziesz mieć prawdziwą imprezę.źródło