Сохранить текущий терминал scrollback в файл?

Я искал ответ на это и не находил что-либо, что заставляет меня думать, что это не возможно, но...

Действительно ли возможно сохранить текущий Терминал Gnome scrollback буфер в файл?

Я знаю, что могу сделать что-то как command > output.txt перенаправить весь вывод в файл, или command | tee output.txt разделять вывод к терминалу, а также в файл. То, что я пытаюсь сделать, получить это после факта. Я хотел бы сохранить scrollback содержание текущей терминальной вкладки в файл.

23
задан 25 November 2016 в 17:28

3 ответа

После небольшого количества проигрывания вокруг я обнаружил, что Вы можете:

  • triple-click последняя строка
  • совершила нападки shift + home
  • shift + click первая строка
  • копия с ctrl + shift + c (или right-click> 'Копия')

Теперь вставка это в текстовый файл... или, с помощью xsel можно пихнуть буфер обмена в новый файл, просто появившись открытый новая вкладка и выполнение:

xsel -o > out.txt

(Для установки xsel делают sudo apt-get install xsel)

36
ответ дан 23 November 2019 в 01:26

script команда является соответствующей, когда Вы хотите сохранить терминальный сеанс в файл и отобразить ее позже. Когда Вы звоните script, это запускает Вашу оболочку, и когда Вы сделаны, просто введите в выходе. Все будет в typescript файл, если Вы не укажете иначе.

, Например,

xieerqi:$ echo "Hello, Karl Wilbur"
Hello, Karl Wilbur

xieerqi:$ date
2015年 10月 27日 星期二 11:38:15 MDT

xieerqi:$ df
Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/sda1      115247656 80939384  28430924  75% /
none                   4        0         4   0% /sys/fs/cgroup
udev             2914832        4   2914828   1% /dev
tmpfs             585216     1100    584116   1% /run
none                5120        0      5120   0% /run/lock
none             2926072      328   2925744   1% /run/shm
none              102400       52    102348   1% /run/user

xieerqi:$ exit
Script done, file is typescript
xieerqi@eagle:~$ cat typescript 
Script started on 2015年10月27日 星期二 11时37分55秒

xieerqi:$ echo "Hello, Karl Wilbur"
Hello, Karl Wilbur

xieerqi:$ date
2015年 10月 27日 星期二 11:38:15 MDT

xieerqi:$ df
Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/sda1      115247656 80939384  28430924  75% /
none                   4        0         4   0% /sys/fs/cgroup
udev             2914832        4   2914828   1% /dev
tmpfs             585216     1100    584116   1% /run
none                5120        0      5120   0% /run/lock
none             2926072      328   2925744   1% /run/shm
none              102400       52    102348   1% /run/user

xieerqi:$ exit

Script done on 2015年10月27日 星期二 11时38分18秒

могут быть управляющие символы в файле машинописного текста хотя, такой как от эти ls команда, так использование cat typescript | col -b > outputfile.txt команда для перенаправления чистого вывода в файл

2
ответ дан 23 November 2019 в 01:26

Вы можете сделать это и постфактум. Вам нужна виртуальная консольная память (man vcs содержит дополнительную информацию и несколько примеров).

В вашем случае, если вы работаете с виртуальным терминалом через /dev/tty1, следующий фрагмент позволит вам сохранить отставание в файле output-file:

cat /dev/vcs1 >output-file

Обратите внимание, что номера устройств tty1 и vcs1 совпадают.

Редактировать: я должен отметить, что это работает только для виртуальных терминалов, а не для псевдотерминалов (псевдотерминалы используются для реализации эмуляторов терминалов, таких как gnome-terminal, xterm и т. д., см. man pts для получения дополнительной информации).

4
ответ дан 31 January 2021 в 21:34

Другие вопросы по тегам:

Похожие вопросы: