Эта статья посвящена продукту asciinema, который позволяет записывать и делиться записями выполнения команд в терминальных сессиях.
Для того, чтобы начать пользоваться утилитой, нужно установить recorder
(CentOS)
sudo yum install asciinema
и дать команду начала записи
asciinema rec [filename]
Последняя команда порождает новый экземпляр оболочки и записывает весь вывод терминала. Для того чтобы закончить, просто выйдите из оболочки, набрав exit или нажав Ctrl-D.
Как это работает? Asciinema создает псевдо-терминал, снимает с него всю введенную с источника ввода информацию, сохраняет ее вместе с метками времени, и передает на выполнение системе. Если Вас интересует детальная реализация, Вы можете посмотреть исходный код recordera.
Если аргумент filename присутствует, то запись (которая называется asciicast) сохраняется в локальный файл. В будущем он может быть проигран с помощью команды asciinema play< filename> или загружен на asciinema.org . Для этого нужно дать команду asciinema upload< filename>. Если аргумент filename опущен, то в таком случае (после запроса подтверждения) полученный asciicast будет загружен на asciinema.org для будущих просмотров в браузере.
Как это работает? Поскольку запись является сырым потоком текстовых и управляющих последовательностей, ее нельзя просто воспроизвести путем постепенной печати текста в соответствующие интервалы времени. Требуется интерпретация последовательностей кодов ANSI, чтобы правильно отображать изменения цвета, перемещение курсора и печатать текст в соответствующих местах на экране. Плеер снабжен собственным эмулятором терминала на основе анализатора от Пола Уильямса для ANSI-совместимых видеотерминалов. Конечным результатом является плавная анимация со всеми текстовыми и цветовыми атрибутами (жирный, подчеркивающий, инверсный, и пр.) Исходный код плеера, по заверению разработчика, также доступен для детального анализа.
При записи или проигрывании сохраненных записей можно указывать дополнительные параметры, с которыми можно ознакомиться в официальной документации. Также значения по умолчанию для параметров команды можно указать в конфигурационном файле в соответствующих разделах [record] и [play]. Раздел [api] содержит token для идентификации устройства и привязки его к аккаунту пользователя на сервере. Также можно задать параметр url для того, чтобы asciinema recorder использовал ваш собственный asciinema site instance вместо стандартного — asciinema.org.
Команда asciinema auth используется для управления записями в аккаунте на asciinema.org.
Для того, чтобы управлять настройками записей, сохраненных на asciinema.org (например, изменить название или описание, удалить запись и пр.) нужно аутентифицироваться. Приведенная команда отображает URL , который нужно ввести в браузере, чтобы войти в свой аккаунт.
Для каждой машины, на которой запускается asciinema recorder, выдается новый, уникальный API токен. Если Вы уже зарегистрированы на сайте asciinema.org и Вы запускаете asciinema auth на новом компьютере, то это устройство добавится в Ваш аккаунт автоматически.
Вы можете синхронизировать ваш конфигурационный файл (в котором сохранен API токен) между всеми используемыми машинами, и все они будут использовать один токен. Но это не обязательно, поскольку Вы можете присоединять к Вашему аккаунту неограниченное число токенов (то есть новых устройств).
Вы можете получить ссылку на Ваше видео, нажав на кнопку «Share» на веб-странице требуемого ansicast’а. Вы также можете вставить HTML код плеера который проиграет нужное видео. Для этого используйте примеры, приведенные в официальной документации к продукту.
Подводя итог, можно сказать, что продукт интересен, как для применения в формате, предполагаемом разработчиком, так и в качестве одного из инструментов системы контроля и логирования действий, выполняемых в терминале.
Нужна помощь в записи действий в терминале, обращайтесь [email protected]