Хотите улучшить свои учебники по командной строке 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.gpg
echo '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
Комментировать