Поиск по сайту:

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


На этой странице

  1. Предпосылки
  2. Захват
  3. Воспроизведение
  4. Преобразование в формат .gif

Запись терминального сеанса может быть важна для того, чтобы помочь кому-то изучить процесс, поделиться информацией в понятной форме, а также правильно представить серию команд. Какой бы ни была цель, во многих случаях копирование и вставка текста из терминала не очень помогают, а запись процесса на видео довольно надуманная и не всегда возможна. В этом кратком руководстве мы рассмотрим самый простой способ записать сеанс терминала и поделиться им в формате .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, набрав ttyrecord», и теперь вы должны увидеть несколько файлов gif, которые были созданы на месте «ttyrecord».

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

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

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