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”.



Воспроизведение
Воспроизведение файла так же просто, как открыть терминал в месте назначения файла “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”.

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

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

Get new posts in your inbox
No spam. Unsubscribe anytime.