Автор выбрал фонд Electronic Frontier Foundation для получения пожертвований в рамках программы Write for DOnations.
Terminalizer — приложение записи терминала, позволяющее записывать сеанс терминала в реальном времени и воспроизводить его позже. Он работает таким же образом, как и устройство записи рабочего стола, но в терминале.
Запись сеанса терминала полезна, если вы хотите просмотреть конкретную деятельность снова или поспособствовать в отладке особенно сложной ошибки. Записи, выполняемые при помощи Terminalizer, могут также экспортироваться в качестве анимированных GIF, которые полезны для обмена в онлайн-режиме или добавления в маркетинговые материалы вашего программного обеспечения.
В этом обучающем руководстве вы установите Terminalizer, используете его для записи и воспроизведения сеансов терминала, настроите свои записи и затем экспортируете их для обмена в онлайн-режиме.
Для данного обучающего руководства вам потребуется следующее:
Сервер Ubuntu 18.04, настроенный согласно руководству по первоначальной настройке сервера с Ubuntu 18.04, включая пользователя sudo без прав root.
Node.js и npm, которые можно установить в соответствии с указаниями раздела Установка стабильной версии дистрибутива для Ubuntu в обучающем руководстве Установка Node.js в Ubuntu 18.04.
Если вы хотите поделиться своими записями в онлайн-режиме, вам понадобится следующее:
Подготовив все вышеперечисленное, войдите на сервер без привилегий root, чтобы начать подготовку.
На этом шаге вы скачаете и установите 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, запустив следующую команду:
- terminalizer --version
Будет выведен текст следующего вида:
Output0.7.1
В заключение сгенерируйте файл конфигурации Terminalizer по умолчанию, который можно использовать для расширенной настройки Terminalizer (подробнее см. в шаге 4):
- terminalizer init
Результат будет выглядеть примерно следующим образом:
OutputThe global config directory is created at
/home/user/.terminalizer
Теперь, когда вы установили Terminalizer, можно сделать первую запись терминала.
На этом шаге вы записываете и воспроизводите сеанс терминала.
В начале настройте новую запись Terminalizer с помощью имени на ваш выбор:
- terminalizer record your-recording
В результате будет выведено следующее, чтобы указать, что запись началась:
OutputThe 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
.
OutputSuccessfully Recorded
The recording data is saved into the file:
/home/user/your-recording.yml
Возможно, Terminalizer предложит поделиться записью в онлайн-режиме. Сейчас нажмите CTRL+C
для отмены этого, поскольку вы можете сначала воспроизвести запись терминала локально.
Далее воспроизведите ваш записанный сеанс терминала при помощи следующей команды:
- terminalizer play your-recording
В результате записанный сеанс будет воспроизведен в реальном времени в вашем терминале:
Outputuser@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
.
Например, следующее действие будет воспроизводить вашу запись в два раза медленнее (1/2 скорости):
- terminalizer play your-recording --speed-factor 2
Также вы можете воспроизвести запись в два раза быстрее (скорость х 2):
- terminalizer play your-recording --speed-factor 0.5
Вы записали и воспроизвели сеанс терминала. Далее вы можете поделиться записью терминала в онлайн-режиме.
На этом шаге вы поделитесь своим записанным сеансом терминала в онлайн-режиме на странице изучения Terminalizer.
Сначала выберите записанный сеанс, которым вы хотите поделиться:
- terminalizer share your-recording
Затем вам будет предложено предоставить несколько базовых метаданных по вашей записи, в том числе название и описание:
OutputPlease 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 отобразит ссылку для подтверждения, если это потребуется:
OutputOpen 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 загрузит вашу запись и предоставит ссылку для ее просмотра:
OutputSuccessfully Uploaded
The recording is available on the link:
https://terminalizer.com/view/your-recording-id
Пройдя по ссылке в браузере на настольном компьютере, вы сможете просматривать записи, которыми вы поделились:
Вы поделились записанным сеансом терминала на веб-сайте Terminalizer и просмотрели его в браузере.
Теперь, когда вы ознакомились с Terminalizer, вы можете начинать рассматривать некоторые более расширенные опции персонализации, такие как способность изменять цвета и стили отображения.
Каждая запись наследует конфигурацию по умолчанию из глобального файла конфигурации Terminalizer, который находится в ~/.terminalizer/config.yml
. Это означает, что вы можете изменять конфигурацию для отдельных записей напрямую, изменяя файл записи (например, your-recording.yml
). Также вы можете изменять глобальную конфигурацию, которая будет влиять на все новые записи.
В этом примере вы измените глобальный файл конфигурации, но те же указания применяются и к отдельным файлам записи.
Сначала откройте файл глобальной конфигурации Terminalizer в текстовом редакторе, например nano
:
- nano ~/.terminalizer/config.yml
Каждая из доступных опций конфигурации в этом файле прокомментирована, чтобы объяснить, что она делает.
Есть несколько стандартных вариантов конфигурации, которые вы, возможно, захотите изменить по вашему желанию:
cols
: в явном виде задает количество столбцов терминала, используемых для записи.rows
: в явном виде задает количество строк терминала, используемых для записи.frameDelay
: переопределяет задержку между каждым нажатием клавиши во время воспроизведения.maxIdleTime
: указывает максимальное время между нажатиями клавиш во время воспроизведения.cursorStyle
: указывает стиль курсора умолчанию на выбор из прямоугольника
, полосы
и подчеркивания
.fontFamily
: указывает список предпочитаемых шрифтов воспроизведения в порядке предпочтения.theme
: изменяет цветовую схему воспроизведения, например для создания черно-белого терминала и т. п.Например, вы можете сделать бело-черный дисплей терминала, настроив следующие опции:
. . .
theme:
background: "white"
foreground: "black"
. . .
Результат будет выглядеть примерно так:
Вы можете изменять стиль курсора, упрощая понимание записи, например, посредством изменения курсора по умолчанию в виде прямоугольника на курсор в виде подчеркивания:
. . .
cursorStyle: underline
. . .
Результат будет выглядеть примерно так:
После внесения всех необходимых изменений сохраните файл и возвращайтесь в терминал.
Если вы изменили глобальную конфигурацию Terminalizer, эти настройки будут применяться ко всем новым записям, выполняемым далее. Если вы изменяете конфигурацию конкретной записи, Terminalizer немедленно применяет изменения к этой конкретной записи.
Обратите внимание, что настраиваемый стиль воспроизведения применяется только к сеансам записи, которыми поделились. Их воспроизведение непосредственно в вашем терминале всегда будет происходить со стилем и цветовой схемой вашего терминала по умолчанию.
На этом последнем шаге вы рассмотрели некоторые из расширенных вариантов настройки конфигурации в Terminalizer.
В этой статье вы использовали Terminalizer для записи сеанса терминала и обмена данными о нем. Теперь у вас есть знания, необходимые для создания записанных демо-версий вашего программного обеспечения для использования в маркетинговых материалах или для обмена секретными приемами командной строки с друзьями.
Если вы хотите сделать рендеринг и экспорт записей Terminalizer в формат GIF, вы можете установить Terminalizer на компьютере с графическим интерфейсом пользователя/на настольном компьютере и использовать встроенные функции рендеринга:
Также вы можете посетить веб-сайт Terminalizer, чтобы увидеть записанные сеансы терминала, которыми поделились другие пользователи:
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!