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

Как записать сеансы терминала в виде SVG-анимации в Linux

Запись сеансов терминала может помочь в нескольких случаях. Вы можете использовать эти сеансы записи, чтобы документировать все, что вы делали в Терминале, и сохранять их для дальнейшего использования. Вы можете использовать их, чтобы продемонстрировать различные команды Linux и варианты их использования вашим ученикам, студентам и всем, кто хочет изучать Linux. К счастью, у нас есть множество инструментов для записи сеансов терминала в Unix-подобных операционных системах. Мы уже рассмотрели некоторые инструменты/команды, которые помогали вам записывать сеансы терминала в прошлом. Пройти их можно по ссылкам, приведенным ниже.

  • Как записывать все, что вы делаете в терминале
  • Asciinema – записывайте сеансы терминала и делитесь ими в Интернете

Сегодня мы увидим еще один инструмент для записи активности Терминала. Поприветствуйте Termtosvg. Как следует из названия, Termtosvg записывает сеансы терминала как отдельные анимации SVG. Это простая утилита командной строки, написанная на языке программирования Python. Он генерирует легкую и красивую анимацию, которую можно встроить на страницу проекта. Он поддерживает пользовательские цветовые темы, пользовательский интерфейс терминала и элементы управления анимацией через шаблоны SVG. Он также совместим с форматом записи asciinema. Termtosvg поддерживает ОС GNU/Linux, Mac OS и BSD.

Установка Termtosvg

Termtosvg можно установить с помощью PIP, менеджера пакетов Python для установки приложений, написанных на языке Python. Если вы еще не установили PIP, обратитесь к следующему руководству.

  • Как управлять пакетами Python с помощью Pip

После установки PIP выполните следующую команду, чтобы установить инструмент Termtosvg:

pip3 install --user termtosvg

И установите следующие необходимые компоненты для отображения экрана терминала.

pip3 install pyte python-xlib svgwrite

Сделанный. Давайте продолжим и сгенерируем сеансы терминала в формате SVG.

Запись сеансов терминала в виде SVG-анимации в Linux

Записывать сеансы терминала с помощью Termtosvg очень просто. Просто откройте окно терминала и выполните следующую команду, чтобы начать запись.

termtosvg

Примечание. Если команда termtosvg недоступна, перезагрузите систему один раз.

После запуска команды termtosvg вы увидите следующий результат:

Recording started, enter "exit" command or Control-D to end

Теперь вы окажетесь в дополнительной оболочке, где сможете выполнять команды Linux как обычно. Все, что вы делаете в Терминале, будет записано.

Позвольте мне запустить случайные команды.

mkdir mydirectory
cd mydirectory/
touch file.txt
cd ..
uname -a

Закончив, нажмите CTRL+D или введите exit, чтобы остановить запись. Полученная запись будет сохранена в папке /tmp с уникальным именем.

Termtosvg в действии

Затем вы можете открыть файл SVG в любом веб-браузере по вашему выбору из терминала, как показано ниже.

firefox /tmp/termtosvg_ddkehjpu.svg

Вы также можете открыть файл SVG напрямую из браузера (File -> ).

Вот результат приведенной выше записи в моем браузере Firefox.

Воспроизведение файла SVG в браузере

Вот еще несколько примеров использования Termtosvg для записи сеансов терминала.

Как я уже упоминал, Termtosvg по умолчанию записывает сеанс терминала и сохраняет его как файл анимации SVG в каталоге /tmp.

Однако вы можете создать анимацию SVG с собственным именем, например animation.svg, и сохранить ее в произвольном месте, например /home/sk/ostechnix/. .

termtosvg /home/sk/ostechnix/animation.svg

Запишите сеанс терминала и визуализируйте его, используя определенный шаблон:

termtosvg -t ~/templates/my_template.svg

Запишите сеанс терминала с определенной геометрией экрана:

termtosvg -g 80x24 animation.svg

Запишите терминальную сессию в формате asciicast v2:

termtosvg record recording.cast

Отобразите SVG-анимацию из записи в формате asciicast:

termtosvg render recording.cast animation.svg

Дополнительную информацию см. в руководстве по Termtosvg.

Ресурсы:

  • Веб-сайт Termtosvg
  • Репозиторий Termtosvg на GitHub

Статьи по данной тематике