Иногда возникает необходимость записать всё, что происходит в терминале: какие команды вы набираете и что при этом отображается. Альтернативой этому являются, например, создание скриншотов, копирование текста. В этой заметке я расскажу, как записать всё, что происходит в терминале. Нам понадобиться дополнительная программа, но мы не будем захватывать видео. Всё происходящее будет записано в 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 в разных сессиях:
Связанные статьи:
- Лучшие терминальные мультиплексные инструменты (50%)
- Как найти дубликаты файлов на Linux с помощью dupeGuru (50%)
- Опасные команды Linux (50%)
- Примеры команды cat (50%)
- Какие есть полезные инструменты с интерфейсом командной строки для системных администраторов Linux (50%)
- Как посмотреть ошибки при чёрном экране в Linux (RANDOM - 50%)