Автор выбрал фонд Electronic Frontier Foundation для получения пожертвований в рамках программы Write for DOnations.
Введение
Terminalizer — приложение записи терминала, позволяющее записывать сеанс терминала в реальном времени и воспроизводить его позже. Он работает таким же образом, как и устройство записи рабочего стола, но в терминале.
Запись сеанса терминала полезна, если вы хотите просмотреть конкретную деятельность снова или поспособствовать в отладке особенно сложной ошибки. Записи, выполняемые при помощи Terminalizer, могут также экспортироваться в качестве анимированных GIF, которые полезны для обмена в онлайн-режиме или добавления в маркетинговые материалы вашего программного обеспечения.
В этом обучающем руководстве вы установите Terminalizer, используете его для записи и воспроизведения сеансов терминала, настроите свои записи и затем экспортируете их для обмена в онлайн-режиме.
Предварительные требования
Для данного обучающего руководства вам потребуется следующее:
Если вы хотите поделиться своими записями в онлайн-режиме, вам понадобится следующее:
Подготовив все вышеперечисленное, войдите на сервер без привилегий root, чтобы начать подготовку.
Шаг 1 — Установка Terminalizer
На этом шаге вы скачаете и установите Terminalizer в вашей системе. Terminalizer написан с помощью Node.js и может быть установлен с помощью диспетчера пакетов npm
.
Чтобы установить Terminalizer на глобальном уровне в вашей системе, выполните следующую команду:
- sudo npm install --global --allow-root --unsafe-perm=true terminalizer
Terminalizer использует каркас приложений Electron для экспорта зарегистрированных сеансов терминала в формат GIF. Для установки Electron на глобальном уровне в вашей системе требуется аргумент команды --unsafe-perms=true
.
После установки Terminalizer вы увидите примерно следующий вывод:
Output
. . .
/usr/local/lib
└── terminalizer@0.7.1
Далее проверьте установку Terminalizer, запустив следующую команду:
Будет выведен текст следующего вида:
Output
0.7.1
В заключение сгенерируйте файл конфигурации Terminalizer по умолчанию, который можно использовать для расширенной настройки Terminalizer (подробнее см. в шаге 4):
Результат будет выглядеть примерно следующим образом:
Output
The global config directory is created at
/home/user/.terminalizer
Теперь, когда вы установили Terminalizer, можно сделать первую запись терминала.
Шаг 2 — Запись и воспроизведение сеанса терминала
На этом шаге вы записываете и воспроизводите сеанс терминала.
В начале настройте новую запись Terminalizer с помощью имени на ваш выбор:
- terminalizer record your-recording
В результате будет выведено следующее, чтобы указать, что запись началась:
Output
The recording session has started
Press Ctrl+D to exit and save the recording
Теперь вы можете перейти к любым необходимым действиям в вашем терминале. Каждое нажатие клавиши и команда будут записываться в реальном времени в Terminalizer.
Например:
- pwd
- date
- whoami
- echo "Hello, world!"
Когда хотите остановить запись, нажмите CTRL+D
. Затем Terminalizer сохранит запись в указанном файле в формате YAML, например your-recording.yml
.
Output
Successfully Recorded
The recording data is saved into the file:
/home/user/your-recording.yml
Возможно, Terminalizer предложит поделиться записью в онлайн-режиме. Сейчас нажмите CTRL+C
для отмены этого, поскольку вы можете сначала воспроизвести запись терминала локально.
Далее воспроизведите ваш записанный сеанс терминала при помощи следующей команды:
- terminalizer play your-recording
В результате записанный сеанс будет воспроизведен в реальном времени в вашем терминале:
Output
user@droplet:~$ pwd
/home/user
user@droplet:~$ date
Sun Mar 8 14:55:36 UTC 2020
user@droplet:~$ whoami
user
user@droplet:~$ echo "Hello, world!"
Hello, world!
user@droplet:~$ logout
Также вы можете изменять скорость воспроизведения вашей записи при помощи опции --speed-factor
.
Например, следующее действие будет воспроизводить вашу запись в два раза медленнее (½ скорости):
- terminalizer play your-recording --speed-factor 2
Также вы можете воспроизвести запись в два раза быстрее (скорость х 2):
- terminalizer play your-recording --speed-factor 0.5
Вы записали и воспроизвели сеанс терминала. Далее вы можете поделиться записью терминала в онлайн-режиме.
Шаг 3 — Обмен записанными сеансами терминала
На этом шаге вы поделитесь своим записанным сеансом терминала в онлайн-режиме на странице изучения Terminalizer.
Сначала выберите записанный сеанс, которым вы хотите поделиться:
- terminalizer share your-recording
Затем вам будет предложено предоставить несколько базовых метаданных по вашей записи, в том числе название и описание:
Output
Please enter some details about your recording
? Title Title of Your Recording
? Description Description of Your Recording
? Tags such as git,bash,game Comma-separated Tags for Your Recording
Предупреждение. Записи Terminalizer выкладываются в публичный доступ по умолчанию, поэтому убедитесь, что в вашей записи терминала отсутствуют личные или конфиденциальные данные, которыми вы не хотите делиться.
Если вы впервые поделились записанным сеансом с помощью Terminalizer, вам нужно будет привязать свою учетную запись Terminalizer. Terminalizer отобразит ссылку для подтверждения, если это потребуется:
Output
Open the following link in your browser and login into your account
https://terminalizer.com/token?token=your-token
When you do it, press any key to continue
Предупреждение. Убедитесь, что ваш токен Terminalizer остается приватным, т. к. он позволяет любому пользователю, владеющему им, получить доступ к вашей учетной записи Terminalizer.
После того как вы прошли по ссылке в вашем браузере и вошли в вашу учетную запись Terminalizer, нажмите любую клавишу, чтобы продолжить.
Теперь Terminalizer загрузит вашу запись и предоставит ссылку для ее просмотра:
Output
Successfully Uploaded
The recording is available on the link:
https://terminalizer.com/view/your-recording-id
Пройдя по ссылке в браузере на настольном компьютере, вы сможете просматривать записи, которыми вы поделились:
Вы поделились записанным сеансом терминала на веб-сайте Terminalizer и просмотрели его в браузере.
Шаг 4 — Настройка расширенной конфигурации Terminalizer
Теперь, когда вы ознакомились с Terminalizer, вы можете начинать рассматривать некоторые более расширенные опции персонализации, такие как способность изменять цвета и стили отображения.
Каждая запись наследует конфигурацию по умолчанию из глобального файла конфигурации Terminalizer, который находится в ~/.terminalizer/config.yml
. Это означает, что вы можете изменять конфигурацию для отдельных записей напрямую, изменяя файл записи (например, your-recording.yml
). Также вы можете изменять глобальную конфигурацию, которая будет влиять на все новые записи.
В этом примере вы измените глобальный файл конфигурации, но те же указания применяются и к отдельным файлам записи.
Сначала откройте файл глобальной конфигурации Terminalizer в текстовом редакторе, например nano
:
- nano ~/.terminalizer/config.yml
Каждая из доступных опций конфигурации в этом файле прокомментирована, чтобы объяснить, что она делает.
Есть несколько стандартных вариантов конфигурации, которые вы, возможно, захотите изменить по вашему желанию:
cols
: в явном виде задает количество столбцов терминала, используемых для записи.rows
: в явном виде задает количество строк терминала, используемых для записи.frameDelay
: переопределяет задержку между каждым нажатием клавиши во время воспроизведения.maxIdleTime
: указывает максимальное время между нажатиями клавиш во время воспроизведения.cursorStyle
: указывает стиль курсора умолчанию на выбор изпрямоугольника
,полосы
иподчеркивания
.fontFamily
: указывает список предпочитаемых шрифтов воспроизведения в порядке предпочтения.theme
: изменяет цветовую схему воспроизведения, например для создания черно-белого терминала и т. п.
Например, вы можете сделать бело-черный дисплей терминала, настроив следующие опции:
config.yml
. . .
theme:
background: "white"
foreground: "black"
. . .
Результат будет выглядеть примерно так:
Вы можете изменять стиль курсора, упрощая понимание записи, например, посредством изменения курсора по умолчанию в виде прямоугольника на курсор в виде подчеркивания:
config.yml
. . .
cursorStyle: underline
. . .
Результат будет выглядеть примерно так:
После внесения всех необходимых изменений сохраните файл и возвращайтесь в терминал.
Если вы изменили глобальную конфигурацию Terminalizer, эти настройки будут применяться ко всем новым записям, выполняемым далее. Если вы изменяете конфигурацию конкретной записи, Terminalizer немедленно применяет изменения к этой конкретной записи.
Обратите внимание, что настраиваемый стиль воспроизведения применяется только к сеансам записи, которыми поделились. Их воспроизведение непосредственно в вашем терминале всегда будет происходить со стилем и цветовой схемой вашего терминала по умолчанию.
На этом последнем шаге вы рассмотрели некоторые из расширенных вариантов настройки конфигурации в Terminalizer.
Заключение
В этой статье вы использовали Terminalizer для записи сеанса терминала и обмена данными о нем. Теперь у вас есть знания, необходимые для создания записанных демо-версий вашего программного обеспечения для использования в маркетинговых материалах или для обмена секретными приемами командной строки с друзьями.
Если вы хотите сделать рендеринг и экспорт записей Terminalizer в формат GIF, вы можете установить Terminalizer на компьютере с графическим интерфейсом пользователя/на настольном компьютере и использовать встроенные функции рендеринга:
Также вы можете посетить веб-сайт Terminalizer, чтобы увидеть записанные сеансы терминала, которыми поделились другие пользователи: