Я искал ответ на это и не нашел ничего, что заставляет меня думать, что это невозможно, но ...
Можно ли сохранить текущий буфер прокрутки Gnome Terminal в файл?
Я знаю, что могу сделать что-то вроде command > output.txt
перенаправления всех выходных данных в файл или command | tee output.txt
разделить выходные данные в терминал, а также в файл. То, что я пытаюсь сделать, это захватить это после факта. Я хотел бы сохранить содержимое прокрутки текущей вкладки терминала в файл.
command-line
gnome-terminal
Карл Уилбур
источник
источник
kitty
одна терминальная программа, которая может это делать, к сожалению, шрифты выглядят ужасно (без субпиксельного рендеринга)Ответы:
После небольшой игры я обнаружил, что вы можете:
triple-click
последняя строкаshift + home
shift + click
первая строкаctrl + shift + c
(илиright-click
> «Копировать»)Теперь вставьте его в текстовый файл ... или, используя его,
xsel
вы можете вставить свой буфер обмена в новый файл, просто открыв новую вкладку и выполнив:(Для установки
xsel
сделатьsudo apt-get install xsel
)источник
Edit
->Select All
.triple-click the last line
иshift + home or the scrollbar
перейти к точному местоположению, которое вы хотите для начала вывода.Edit
->Select All
для захвата вывода. Прошло 25-30 минут, а терминал Gnome все еще заблокирован. Используя Byobu, я смог запустить,top
чтобы увидеть, что Gnome Terminal все еще работает (увеличивает время процессора); в настоящее время используется более 4,176 г оперативной памяти и медленно поднимается. Так что, да, с очень большим прокруткой, это займет некоторое время. X все еще работает (и Chrome, YouTube, Nautilus, Byobu и т. Д.), Но Gnome Terminal понадобится минута. Я должен был спланировать лучше.script
Команда подходит, если вы хотите сохранить сеанс терминала в файл и отобразить его позже. Когда вы звоните,script
он запускает вашу оболочку, а когда вы закончите, просто введите выход. Все будет вtypescript
файле, если вы не укажете иначе.Например,
Однако в файле машинописи могут быть управляющие символы, например, из команды
ls
, поэтому используйтеcat typescript | col -b > outputfile.txt
команду для перенаправления чистого вывода в файл.источник
script
запускает отдельный процесс, поэтому ваш скрипт на python, являющийся родителем подпроцесса, ожидает выхода дочернего элемента. Он предназначен больше для интерактивных сессий, но если вы хотите записать сессию в интерпретаторе Python, сначала запуститеscript
команду, а затем запустите интерпретатор. Команда также должна иметь-c
флаг, чтобы вы могли вызывать,script -c python
но дважды проверьте сman script
.