Szukałem odpowiedzi na to pytanie i nie znalazłem niczego, co sprawiłoby, że uważam, że to niemożliwe, ale ...
Czy można zapisać bieżący bufor przewijania Gnome Terminal do pliku?
Wiem, że mogę zrobić coś takiego, command > output.txt
aby przekierować wszystkie dane wyjściowe do pliku lub command | tee output.txt
podzielić dane wyjściowe na terminal, a także na plik. Staram się to uchwycić po fakcie. Chciałbym zapisać zawartość przewijania bieżącej karty terminala do pliku.
command-line
gnome-terminal
Karl Wilbur
źródło
źródło
kitty
to jeden program terminalowy, który potrafi to zrobić, niestety czcionki wyglądają okropnie (brak renderowania subpikseli)Odpowiedzi:
Po krótkiej zabawie odkryłem, że możesz:
triple-click
ostatnia liniashift + home
shift + click
Pierwsza liniactrl + shift + c
(lubright-click
> „Kopiuj”)Teraz wklej go do pliku tekstowego ... lub używając
xsel
, możesz przesunąć schowek do nowego pliku, po prostu otwierając nową kartę i wykonując:(Aby zainstalować
xsel
zrobićsudo apt-get install xsel
)źródło
Edit
->Select All
.triple-click the last line
ishift + home or the scrollbar
przejść do dokładnej lokalizacji, którą chcesz na początku danych wyjściowych.Edit
->Select All
do przechwycenia wyjścia. Minęło już 25-30 minut, a Gnome Terminal jest nadal zamknięty. Korzystając z Byobu, mogłem uruchomić,top
aby zobaczyć, że Gnome Terminal nadal działa ( wydłużając czas procesora); obecnie zużywa ponad 4,176 g pamięci RAM i powoli się wspina. Tak, przy bardzo dużym przewijaniu zajmie to trochę czasu. X nadal działa (i Chrome, YouTube, Nautilus, Byobu itp.), Ale Gnome Terminal będzie potrzebował minuty. Powinienem był lepiej zaplanować.script
polecenie jest odpowiednie, gdy chcesz zapisać sesję terminala w pliku i wyświetlić ją później. Gdy zadzwoniszscript
, uruchomi powłokę, a kiedy skończysz, po prostu wpisz polecenie exit. Wszystko będzie wtypescript
pliku, chyba że określisz inaczej.Na przykład,
W pliku maszynopisu mogą być jednak znaki sterujące, na przykład z komendy
ls
, więc użyjcat typescript | col -b > outputfile.txt
polecenia, aby przekierować czyste wyjście do plikuźródło
script
Polecenie uruchamia oddzielny proces, więc skrypt python będący rodzicem podprocesu czeka na zakończenie przez dziecko. Jest to bardziej przeznaczone dla sesji interaktywnych, ale jeśli chcesz nagrać sesję w interprecie Pythona,script
najpierw uruchom komendę, a na drugim uruchom interpreter. Polecenie powinno również mieć-c
flagę, aby można było zadzwonić,script -c python
ale należy dwukrotnie sprawdzić za pomocąman script
.