Как создавать лучшие GIF-файлы терминала Linux с помощью VHS
Linux

Как создавать лучшие GIF-файлы терминала Linux с помощью VHS

Хотите улучшить свои учебники по командной строке Linux, используя GIF-файлы вместо изображений? VHS – это создатель терминальных GIF, который вам нужен

Терминал Linux – это замечательный инструмент, который поможет вам получить максимальную отдачу от вашей машины. Большинство людей учатся пользоваться им, следуя учебникам с построчными инструкциями. Но лучшим способом будет увидеть его в действии

VHS – более простой способ создания GIF-файлов вашего терминала Linux

Если вы не знаете, на что смотрите, терминалы не особенно интересны. Это строки текста, входы и выходы, статусы и иногда ASCII рисунки. Для новичка в Linux может быть трудно связать причину со следствием

Видео и GIF-файлы часто могут помочь, возможно, именно поэтому на YouTube существуют десятки тысяч обучающих материалов по Linux. Они обычно создаются с помощью записи экрана или путем удержания камеры телефона одной рукой перед монитором

Но видео – это большие и неудобные файлы, обычно достигающие многих сотен мегабайт, и для того, чтобы они служили более чем нескольким людям, требуются значительные ресурсы. Они расточительны и не идеальны, если вы не хотите полагаться на YouTube в вопросах контроля доступа к вашему контенту

Хотя на ПК с Linux можно конвертировать видеофайлы в GIF-файлы, такие решения часто бывают неэлегантными, а файлы – громоздкими

VHS – это утилита командной строки, которая помогает создавать GIF-файлы из набора команд, содержащихся в текстовом файле

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

Как установить VHS в Linux

Для работы VHS требуются ttyd и ffmpeg. Если ваша система поддерживает snap, установите ttyd:

sudo snap install ttyd --classic

Пакеты для ffmpeg доступны в репозиториях по умолчанию

Теперь вы готовы к установке VHS

В дистрибутивах на базе Debian

Добавьте ключ репозитория в связку ключей:

curl -fsSL https://repo.charm.sh/apt/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/charm.gpgecho 'deb [signed-by=/etc/apt/keyrings/charm.gpg] https://repo.charm.sh/apt/ ' | sudo tee /etc/apt/sources.list.d/charm.list

Обновите источники пакетов с помощью APT, затем установите VHS:

sudo apt update && sudo apt install vhs

В Arch Linux

Вы можете установить VHS из пользовательского репозитория Arch, используя yay:

yay -S vhs-bin

На Fedora и Red Hat Enterprise Linux

Скопируйте и вставьте весь приведенный ниже фрагмент команды в терминал, затем нажмите Enter:

echo '[charm] name=Charm
baseurl=https://repo.charm.sh/yum/
enabled=1
gpgcheck=1
gpgkey=https://repo.charm.sh/yum/gpg.key' | sudo tee /etc/yum.repos.d/charm.repo

Затем установите VHS, набрав:

sudo yum install vhs

Использование VHS для создания GIF-файлов вашего терминала

VHS использует пользовательское расширение ‘.tape’. Для начала создайте новое, набрав:

vhs new demo.tape

Теперь используйте nano, чтобы открыть и отредактировать запись:

nano demo.tape

В файле вы найдете полезные параметры конфигурации в виде комментариев. К ним относятся форматы вывода: да, вы можете сохранить вывод в формате MP4 или WebM, хотя, на наш взгляд, это несколько теряет смысл. Вы также увидите опции для тонкой настройки шрифта и установки задержки между появлением символов на экране

Две команды, которые могут показаться вам особенно полезными, – это ‘Скрыть’ и ‘Показать’. Как следует из их названий, они либо скрывают последующие команды от отображения в терминале, либо показывают их

После установки имени выходного файла и размеров терминала команды будут выполняться по порядку

Чтобы имитировать ввод слов в терминал, добавьте к нужной строке команду Type, а затем строку в кавычках. Например, если вы хотите, чтобы строка ‘MUO is Ace!’ выглядела так, как будто ее набирает пользователь за клавиатурой, введите:

Type echo 'MUO is Ace!'

Введите команду Enter после строки, чтобы имитировать нажатие Return, и вы увидите:

echo MUO is Ace!

Команда Linux echo будет выполнена, и вы увидите вывод терминала:

MUO is Ace!

Чтобы имитировать разрыв в 200 мс после строки текста, используйте команду Sleep. Например:

Sleep 200ms

приведет к паузе в 200 мс перед началом набора следующей строки

Команда Type вызывает выполнение реальных команд, их вывод фиксируется в GIF

Для имитации выполнения настроенной команды Neofetch, как описано выше, наш ленточный файл содержит следующее:

Output demo.gif
Set FontSize 14
Set Width 1200
Set Height 600
Type 'neofetch --ascii muo_ascii.txt'
Sleep 500ms
Enter
Sleep 5s

Когда вы будете удовлетворены командами, сохраните файл с помощью Ctrl + O, затем Ctrl + X, а затем подайте файл в VHS

vhs < demo.tape

VHS отобразит кассету в формате GIF

GIF, показанный выше, имеет низкое качество, поскольку мы использовали сторонний хостинг для размещения GIF. Вам придется поверить нам, что созданный GIF будет высокого качества и подойдет для вставки в любую веб-страницу и большинство систем управления контентом

Если вы хотите, чтобы ваша команда выполнялась без отображения ее на экране, используйте команды Hide и Show до и после команды, которую вы хотите запустить:

Hide
Type 'neofetch --ascii muo_ascii.txt' Sleep 500ms Enter
Show

Списки команд могут быть сколь угодно длинными, и если вывод может быть показан в терминале без запуска приложения с графическим интерфейсом, VHS будет точно записывать ваши действия

Другие полезные функции VHS

VHS имеет множество полезных функций, которые помогут вам настроить внешний вид вашего вывода. Вот некоторые из наших любимых:

1.Backspace

Имитирует нажатие клавиши Backspace, удаляя символы. Добавьте целое число для количества символов, которые вы хотите удалить

2.Ctrl

Часто команды Linux имеют быстрые эквиваленты, использующие клавишу Ctrl. Ввод ‘Ctrl+l’ в файле кассеты VHS очистит экран в большинстве дистрибутивов Linux

3. Установка скорости воспроизведения

Результаты промелькнули слишком быстро? Используйте ‘PlaybackSpeed’, чтобы изменить скорость воспроизведения конечного рендера

PlaybackSpeed 0. 5

уменьшит скорость воспроизведения вдвое

Полный список команд доступен на странице VHS на GitHub

Создание терминальных GIF для удовольствия и прибыли!

Создание GIF-файлов ввода и вывода терминала с помощью VHS – это просто и очень круто, и это отличный способ продемонстрировать команды и их результаты. Он имеет отличный потенциал в качестве визуального ресурса при написании учебников или как альтернатива YouTube

Прежде чем создавать свой собственный обучающий сайт по Linux, убедитесь, что вы являетесь экспертом и владеете самыми полезными современными командами Linux

Об авторе

Алексей Белоусов

Привет, меня зовут Филипп. Я фрилансер энтузиаст . В свободное время занимаюсь переводом статей и пишу о потребительских технологиях для широкого круга изданий , не переставая питать большую страсть ко всему мобильному =)

Комментировать

Оставить комментарий