Запись сеансов терминала с использованием Asciinema в Linux
Мы уже знаем, как записывать действия терминала с помощью команды "script" в Linux и Unix-подобных системах. В этом руководстве мы обсудим, как установить Asciinema в Linux и как записывать сеансы терминала с помощью Asciinema. Мы также увидим, как поделиться записанными сеансами терминала в Интернете.
Что такое Асцинема?
Asciinema — это быстрый, легкий инструмент записи терминала с открытым исходным кодом. В отличие от команды «script», Asciinema не только записывает наши действия в Терминале, но и помогает нам при необходимости поделиться ими в Интернете. Вы можете поделиться записями, скопировав URL-адрес и отправив их другу или опубликовав в социальной сети. Он поддерживает Linux, Mac OS X и *BSD.
Инструмент Asciinema может быть полезен в следующих ситуациях:
- Онлайн-тренеры могут записывать и делиться сеансом терминала при обучении студентов командам Linux.
- Студенты могут поделиться своими действиями в Терминале со своими онлайн-преподавателями, когда им будет дано задание из командной строки.
- Младшие администраторы могут записывать и делиться своей деятельностью в Терминале с удаленной службой технической поддержки или профильными экспертами, когда им нужна помощь.
- Технические писатели или блоггеры могут записывать действия терминала и использовать их при написании книги или сообщения в блоге.
Возможности безграничны. Что бы это ни было, когда дело доходит до записи терминального сеанса, Asciinema пригодится!
Установите Asciinema в Linux
Asciinema упакована практически для всех дистрибутивов Linux и доступна в официальных репозиториях многих дистрибутивов Linux.
В Arch Linux и его производных, таких как Manjaro Linux, включите репозиторий [Community] и выполните следующую команду, чтобы установить asciinema.
sudo pacman -S asciinema
В Debian, Ubuntu, Linux Mint:
sudo apt install asciinema
В версиях Ubuntu вам необходимо включить репозиторий [Universe] для установки asciinema.
sudo add-apt-repository universe
Существует также официальный PPA-репозиторий для Ubuntu и ее производных.
sudo apt-add-repository ppa:zanchey/asciinema
sudo apt-get update
sudo apt-get install asciinema
В более старой версии RHEL и его клонах:
sudo yum install epel-release
sudo yum install asciinema
В последних версиях Fedora, RHEL, CentOS, AlmaLinux, Rocky Linux:
sudo dnf install asciinema
openSUSE:
sudo zypper in asciinema
Установите Asciinema как snap
Asciinema также доступна в виде пакета snap. Вы можете установить Snap на Arch Linux и Fedora, как описано здесь.
sudo snap install asciinema --classic
Установите Asciinema с помощью pip
sudo pip3 install asciinema
Перед установкой asciinema в вашей системе должен быть установлен pip3.
Установите Asciinema из исходного кода
Если ни один из вышеперечисленных методов не работает, вы можете вручную скомпилировать и установить его из исходного кода, как показано ниже.
В вашей системе должен быть установлен Python 3 для компиляции Asciinema из исходного кода.
git clone https://github.com/asciinema/asciinema.git
cd asciinema
sudo python3 -m asciinema --version
Чтобы установить asciinema в Unix и других операционных системах, перейдите на страницу установки asciinema.
Запись сеансов терминала с использованием Asciinema в Linux
Когда вы запустите «asciinema» без каких-либо аргументов, отобразится раздел справки.
asciinema
usage: asciinema [-h] [--version] {rec,play,cat,upload,auth} ...
Record and share your terminal sessions, the right way.
positional arguments:
{rec,play,cat,upload,auth}
rec Record terminal session
play Replay terminal session
cat Print full output of terminal session
upload Upload locally saved terminal session to asciinema.org
auth Manage recordings on asciinema.org account
optional arguments:
-h, --help show this help message and exit
--version show program's version number and exit
example usage:
Record terminal and upload it to asciinema.org:
asciinema rec
Record terminal to local file:
asciinema rec demo.cast
Record terminal and upload it to asciinema.org, specifying title:
asciinema rec -t "My git tutorial"
Record terminal to local file, limiting idle time to max 2.5 sec:
asciinema rec -i 2.5 demo.cast
Replay terminal recording from local file:
asciinema play demo.cast
Replay terminal recording hosted on asciinema.org:
asciinema play https://asciinema.org/a/difqlgx86ym6emrmd8u62yqu8
Print full output of recorded session:
asciinema cat demo.cast
For help on a specific command run:
asciinema <command> -h
Запись сеансов терминала
Чтобы записать сеанс терминала, просто запустите:
asciinema rec test
После запуска приведенной выше команды вы увидите следующий вывод.
~ Asciicast recording started.
~ Hit Ctrl-D or type "exit" to finish.
Теперь Asciinema начнет записывать действия Терминала и сохранять их в файле с именем "test" в текущем рабочем каталоге.
Позвольте мне ввести несколько случайных команд.
echo "Welcome to OSTechNix"
uname -a
pwd
touch ostechnix.txt
df -h
Достаточно. Чтобы завершить запись, нажмите CTRL+D или введите exit.
Когда запись закончится, вы увидите следующее сообщение.
~ Asciicast recording finished.
Воспроизведение сеанса записи
Вы можете воспроизвести записанный сеанс терминала с помощью команды:
asciinema play test
Замените «test» на имя вашего файла.
Вот Asciinema в действии.
Загрузка записи сеанса на сайт asciinema.org
Если вы не укажете имя файла для записи, вам будет предложено загрузить полученную запись на веб-сайт asciinema.org, чтобы вы могли поделиться ею со своими друзьями или в социальных сетях или добавить ее в свой собственный блог/веб-сайт.
Вот пример вывода, когда вы не указываете имя файла.
~ Asciicast recording finished.
~ Press <Enter> to upload, <Ctrl-C> to cancel.
Нажмите клавишу ENTER, чтобы загрузить запись на сайт asciinema. Через несколько секунд вы получите уникальный веб-URL-адрес, как показано ниже.
https://asciinema.org/a/Emsah6mnIctFdw9m3BnEdBxer
Просто поделитесь им со своим коллегой, другом или с кем угодно, кто хочет просмотреть ваш сеанс терминала в своем веб-браузере. Или вы можете просмотреть его в своем браузере. Как только ваш друг введет указанный выше URL-адрес в адресную строку своего браузера, он сможет увидеть вашу запись.
Как говорилось ранее, вы даже можете делиться записями в социальных сетях или вставлять их на другие сайты или в свой блог.
Чтобы поделиться сеансом записи, просто нажмите кнопку «Поделиться» в правом нижнем углу.
Вы также можете скачать его, если хотите. Для этого просто нажмите кнопку Загрузить внизу.
Все ваши записи будут храниться как конфиденциальные. Таким образом, они не будут указаны ни в поисковых системах, ни на других сайтах. Они будут видны только тому, кому вы дадите URL-адрес.
Удаление записей
Чтобы удалить записанный сеанс терминала, нажмите кнопку «Шестеренка» рядом с кнопкой «Загрузить» внизу и выберите «Удалить».
Управляйте своими записями на сайте asciinema.org
Вы можете управлять загруженными сеансами на сайте asciinena.org. Для этого вам необходимо пройти аутентификацию на сайте, выполнив в терминале следующую команду:
asciinema auth
Вам будет предоставлен уникальный URL-адрес, как показано ниже.
https://asciinema.org/connect/24f95ad3-e046-3fd9-b2d7-5f245b5ba42f
Откройте указанный выше URL-адрес в браузере, чтобы зарегистрировать свой токен API и назначить все записанные asciicast-файлы своему профилю.
Введите свои данные и нажмите «Сохранить», чтобы создать свой профиль.
Теперь вы можете редактировать, устанавливать название/описание для загруженных записей, а также удалять их, если больше не хотите хранить их в сети.
Рекомендуем прочитать:
- Как записывать сеансы терминала в виде SVG-анимации в Linux
Заключение
Acsiinema проста, но очень полезна. Команда «script» помогла мне записать сеанс терминала и просмотреть записанный сеанс позже. Однако утилита Asciinema позволила мне поделиться записанными сеансами терминала с другими пользователями. Попробуйте, вы не будете разочарованы.
Ресурсы:
- Веб-сайт Asciinema
- Репозиторий Asciinema на GitHub