zaLinux.ru

Как записать терминальную сессию


Иногда возникает необходимость записать всё, что происходит в терминале: какие команды вы набираете и что при этом отображается. Альтернативой этому являются, например, создание скриншотов, копирование текста. В этой заметке я расскажу, как записать всё, что происходит в терминале. Нам понадобиться дополнительная программа, но мы не будем захватывать видео. Всё происходящее будет записано в HTML-файл небольшого размера. На мой взгляд, это очень удобно для образовательных целей или при решении проблем.

Есть несколько онлайн сервисов (например showterm.io или asciinema.org), которые позволяют вам записать и поделиться вашей терминальной сессией по сети. Тем не менее, если вам нужна конфиденциальность или хотите архивировать записанное локально, мы рекомендуем вам TermRecord.

TermRecord — это инструмент с открытым исходным кодом на Python, которые записывает терминальную сессию в отдельный файл HTML. Поскольку на выходе получается файл с HTML разметкой, в котором как в контейнере собраны все данные, то любой может воспроизвести вашу терминальную сессию используя веб-браузер.

Зависимости TermRecord

На данный момент TermRecord зависит от следующих вещей:


  • Версия терминала, поддерживающего запись синхронизации информации в файл (опция -t на современных дистрибутивах Linux) или ttyrec
  • term.js -- уменьшенная (YUI) и встроенная в статическом шаблоне; лицензия MIT
  • Шрифты Google Web (особенно Ubuntu Mono, используемый по умолчанию) — они кодированы в base64 и встроены в статический шаблон; лицензия Ubuntu Font 1.0
  • Jinja2 — движок шаблонов Python; лицензия BSD

Запись терминальной сессии с TermRecord

TermRecord доступен в качестве пакета Python, поэтому вы можете установить его с помощью команды pip.

Для начала, установите pip на вашу систему Linux. Затем установите TermRecord следующим образом.

$ sudo pip install TermRecord

Использование TermRecord

Самый простой запуск

TermRecord -o /tmp/session.htm

С этого момента всё, что вы вводите в терминале и что выводиться в стандартном выводе будет записываться. Чтобы остановить запись нажмите Ctrl+d или можно набрать “exit” и нажать ENTER.

Дополнительные параметры вы найдёте по опции --help.

При открытии HTML файла вы увидите нечто вроде видео, как были введены команды, в какой последовательности, есть тайминг, пауза, можно увеличить/уменьшить скорость воспроизведения.

Демо 

Вот несколько демо, которые показывают различные возможности TermRecord в разных сессиях:


Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *