Linux терминал · 3 min read · Nov 14, 2025

Как записать сеанс терминала в Linux

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

Предварительные требования

Если вы просто хотите записывать свои сеансы терминала и иметь возможность воспроизводить запись в своем терминале или делиться ими с людьми, которые будут использовать терминал для воспроизведения, то единственным инструментом, который вам понадобится, называется “ttyrec”. Пользователи Ubuntu могут установить его, введя следующую команду в терминале:

sudo apt-get install ttyrec

Если вы хотите создать файл .gif из записи и иметь возможность делиться им с людьми, которые не используют терминал, публиковать его на веб-сайтах или просто держать .gif под рукой на случай, если он вам понадобится вместо написанных команд, вам нужно будет установить два дополнительных пакета. Первый - это “imagemagick”, который вы можете установить с помощью:

sudo apt-get install imagemagick

а второй - “tty2gif”, который можно скачать отсюда. У последнего есть зависимость, которую можно удовлетворить с помощью:

sudo apt-get install python-opster

Захват

Чтобы начать захват сеанса терминала, все, что вам нужно сделать, это просто начать с “ttyrec” + enter. Это запустит инструмент записи в реальном времени, который будет работать в фоновом режиме, пока мы не введем “exit” или не нажмем “Ctrl+D”. По умолчанию ttyrec создает файл с именем “ttyrecord” в месте назначения сеанса терминала, которое по умолчанию - “Home”.

Захват сеанса терминала Linux - часть 1

Захват сеанса терминала Linux - часть 2

Захват сеанса терминала Linux - часть 3

Воспроизведение

Воспроизведение файла так же просто, как открыть терминал в месте назначения файла “ttyrecord” и использовать команду “ttyplay”, за которой следует имя записи (в нашем случае это ttyrecord, но вы можете изменить это на любое другое имя).

Воспроизведение сеанса терминала.

Это приведет к воспроизведению записанного сеанса в реальном времени и с включенными исправлениями ввода (все действия записываются). Это будет выглядеть как совершенно нормальный автоматизированный сеанс терминала, но команды и их очевидное выполнение, очевидно, не применяются к системе, так как они просто воспроизводятся как запись.

Также важно отметить, что воспроизведение записи сеанса терминала полностью контролируемо. Вы можете удвоить скорость воспроизведения, нажав кнопку “+”, замедлить его с помощью кнопки “-“, приостановить с помощью “0” и возобновить в нормальной скорости с помощью “1”.

Конвертация в .gif

По причинам удобства многие из нас хотели бы конвертировать записанный сеанс в файл .gif, и это очень легко сделать. Вот как:

Сначала распакуйте загруженный “tty2gif.tar.bz2”, открыв терминал в месте загрузки и введя следующую команду:

tar xvfj tty2gif.tar.bz2

Затем скопируйте полученный файл “tty2gif.py” в место назначения файла “ttyrecord” (или любое другое имя, которое вы указали), а затем откройте терминал в этом месте назначения и введите команду:

python tty2gif.py typing ttyrecord

Если вы получаете ошибки на этом этапе, проверьте, установили ли вы пакет “python-opster”. Если ошибки продолжаются, выполните следующие две команды последовательно:

sudo apt-get install xdotool export WINDOWID=$(xdotool getwindowfocus)

затем повторите “python tty2gif.py typing ttyrecord”, и теперь вы должны увидеть несколько gif-файлов, которые были созданы в месте “ttyrecord”.

Записанный сеанс терминала в виде gif-файла.

Следующий шаг - объединить все эти gifs, которые соответствуют отдельным действиям сеанса терминала, в один финальный файл .gif с помощью утилиты imagemagick. Для этого откройте терминал в месте назначения и вставьте следующую команду:

convert -delay 25 -loop 0 *.gif example.gif

Конвертация в gif

Вы можете назвать полученный файл как угодно (я использовал “example.gif”), и вы можете изменить задержку и настройки цикла по мере необходимости. Вот полученный файл этого быстрого руководства:

Сеанс терминала в виде gif

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.