Zdarzyło Ci się nagrywać sesję w terminalu? Pierwszym narzędziem, które przychodzi na myśl, jest zwykle OBS lub wbudowane rozwiązania systemowe. A co, jeśli istnieje coś lepszego – lżejszego, prostszego i bardziej wydajnego?
Czym jest asciinema?
Asciinema to lekkie narzędzie do nagrywania sesji terminala w formie tekstowej. W przeciwieństwie do tradycyjnych metod nie tworzy pliku wideo, a plik tekstowy (.cast), który zawiera całą nagraną sesję.
Zalety:
- Lekkie – nie obciąża systemu.
- Pliki wyjściowe są małe i łatwe do udostępniania.
- Obsługa streamowania na żywo.
- Możliwość wstrzymania odtwarzania i skopiowania widocznego tekstu.
- Konwersja do formatu GIF.
Instalacja
Pakiet asciinema dostępny jest w większości menedżerów pakietów. Aby mieć pewność, że korzystasz z najnowszej wersji, pobierz ją bezpośrednio z repozytorium twórców.
Linux (przykład dla systemów 64-bitowych):
wget -O ~/.local/bin/asciinema https://github.com/asciinema/asciinema/releases/download/v3.2.0/asciinema-x86_64-unknown-linux-gnu
chmod +x ~/.local/bin/asciinemamacOS (Homebrew):
brew install asciinemaPodstawowe użycie
Nagrywanie sesji
Aby rozpocząć nagrywanie, użyj polecenia:
asciinema rec demo.castdemo.cast– nazwa pliku wyjściowego.- Nagrywanie zaczyna się natychmiast i kończy po wpisaniu
exitlub użyciu skrótuCtrl+D.
Odtwarzanie
Do odtworzenia nagranej sesji służy polecenie:
asciinema play demo.castZaawansowane opcje
Ograniczenie czasu nagrywania
Możesz ustawić maksymalny czas bezczynności, aby skrócić długie przerwy:
asciinema rec -t "Nagrywanie demo" -i 2 demo.cast-t– tytuł sesji.-i– maksymalny czas bezczynności (w sekundach).
Nagrywanie z konkretnym poleceniem
Jeśli chcesz nagrać wykonanie konkretnego polecenia, użyj opcji -c:
asciinema rec -c "python3 script.py" demo.cast-c– uruchamia podane polecenie zamiast domyślnej powłoki.
Integracja z innymi narzędziami
Konwersja do GIF-a
Asciinema oferuje narzędzie agg do konwersji nagrań do formatu GIF. Możesz je pobrać z repozytorium.
Następnie skonwertuj plik .cast do GIF-a:
agg demo.cast demo.gifUdostępnianie nagrań
Możesz udostępniać swoje nagrania na asciinema.org lub na własnym serwerze.
Przesłanie nagrania:
asciinema upload demo.castStreamowanie na żywo:
asciinema stream -t "Stream demo" --description "Mój pierwszy stream." -r-t– tytuł streamu.--description– opis streamu.-r– strumieniowanie do zdalnego serwera (domyślnie asciinema.org).
Osadzanie nagrania na własnej stronie
Jeśli udostępniłeś swoje nagranie na asciinema.org, możesz osadzić je na swojej stronie, używając gotowego fragmentu kodu dostępnego pod przyciskiem Share pod nagraniem:
<script src="https://asciinema.org/a/bJMOlPe5F4mFLY0Rl6fiJSOp3.js" id="asciicast-bJMOlPe5F4mFLY0Rl6fiJSOp3" async></script>Możesz też udostępnić swoje nagranie bez przesyłania go na serwer asciinema.org, korzystając z lokalnego odtwarzacza:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="/asciinema-player.css" />
</head>
<body>
<div id="demo"></div>
<script src="/asciinema-player.min.js"></script>
<script>
AsciinemaPlayer.create('/demo.cast', document.getElementById('demo'));
</script>
</body>
</html>Przykłady zastosowań
- Tutoriale – Pokazanie krok po kroku, jak używać narzędzi CLI.
- Debugowanie – Udostępnienie sesji z błędem innym deweloperom.
- Dokumentacja – Zapis procesu wdrażania lub konfiguracji systemu.
Podsumowanie
Asciinema to proste, ale niezwykle przydatne narzędzie. Pozwala łatwo tworzyć tutoriale, nagrywać sesje debugowania oraz dokumentować procesy w formie nagrań. Udostępnianie lub osadzanie nagrań na własnej stronie jest intuicyjne, a w razie potrzeby można je przekonwertować na GIFa.
