Rekam Aktivitas Terminal dengan Asciinema

AsciinemaIngin mendokumentasikan perintah-perintah yang dijalankan dengan command line (CLI)? Atau ingin membuat tutorial mengenai perintah-perintah CLI? Umumnya, pengguna GNU/Linux memakai aplikasi perekam layar seperti simplescreenrecorder, recordMyDesktop, Kazam, dan sebagainya, yang perlu diunggah terlebih dahulu jika ingin membaginya ke media sosial atau di blog. Selain prosesnya panjang (rekam, simpan, unggah), ukuran berkas juga relatif besar.

Untuk menanganinya, ada satu tool perekam aktivitas terminal yang layak untuk dicoba, tool ini dinamakan Asciinema.

Keuntungan menggunakan Asciinema

  1. Setelah merekam, Anda tidak perlu repot mengunggah video secara manual. Misalnya ketika Anda ingin membagikannya melalui YouTube dan Facebook. Rekaman terminal Anda bisa diunggah langsung ke situs asciinema.org secara anonim.

  2. Anda bisa memiliki akun sendiri di asciinema.org. Untuk login, Anda tidak memerlukan password, karena asosiasi akun hanya menggunakan surel. Tautan login akan dikirim melalui surel tersebut.

  3. Hasil rekaman asciinema berukuran sangat kecil, sangat cocok untuk koneksi internet yang lambat atau untuk menghemat kuota internet. Silakan baca Bagaimana asciinema bekerja? di bawah ini.

  4. Anda bisa mengunduh hasil rekaman dari situs asciinema.org, yang kemudian bisa Anda play di komputer Anda. Berkas unduhan ini sangat kecil, karena hanya berbentuk berkas .json.

Bagaimana asciinema bekerja?

Hasil rekaman asciinema berukuran sangat kecil (poin 3), mengapa begitu?

Asciinema memanfaatkan pseudo-terminal, pseudo-tty, atau PTY untuk merekam aktivitas Anda dan menyimpannya dalam bentuk raw (asli) di memori, termasuk timing, teks, dan control sequence. Kemudian, asciinema mengubah “hasil rekaman” tersebut ke dalam bentuk format asciicast.

Format asciicast ini berbentuk .json, lihat contoh di bawah:

{
  "version": 1,
  "width": 80,
  "height": 24,
  "duration": 1.515658,
  "command": "/bin/zsh",
  "title": "",
  "env": {
    "TERM": "xterm-256color",
    "SHELL": "/bin/zsh"
  },
  "stdout": [
    [
      0.248848,
      "\u001b[1;31mHello \u001b[32mWorld!\u001b[0m\n"
    ],
    [
      1.001376,
      "I am \rThis is on the next line."
    ]
  ]
}

Oleh karena itu, Anda mengunduh hasil rekaman dari asciinema.org dalam bentuk .json, bukan .mp4, .mkv, dan lainnya.

Player asciinema sangat berbeda dengan player video YouTube, ia hanya menginterpretasikan berkas json yang dibantu dengan ANSI escape code atau escape sequence. Untuk menginterpretasikannya, asciinema menggunakan emulator terminal berbasis parser ANSI-compatible. Dengan emulator ini, player asciinema bisa mengenal escape sequence, warna, teks tebal, teks miring, dsb.

Instalasi asciinema

Beberapa distro Linux memiliki paket asciinema, termasuk ArchLinux (dengan yaourt), Debian, Ubuntu (PPA), Fedora, Gentoo, dan NixOS.

Di Ubuntu Anda bisa menjalankan:

sudo apt-add-repository ppa:zanchey/asciinema
sudo apt-get update
sudo apt-get install asciinema

Jika Anda tidak menemukan paket asciinema di distro yang Anda pakai, Anda bisa menginstalnya dengan perintah:

curl -sL https://asciinema.org/install | sh

Cara menggunakan asciinema

1. asciinema auth

Untuk menyinkronkan asciinema di komputer dengan akun asciinema Anda.

2. asciinema rec

Untuk merekam. Berhenti, gunakan perintah exit atau ctrl+D.

3. asciinema rec -c “apt-get install vim”

Untuk merekam terminal saat menjalankan perintah apt-get install vim.

4. asciinema rec -t “Cara install vim” -w 2 -y

Untuk merekam terminal dengan judul “Cara install vim”, kurangi durasi rekaman bila tidak ada aktivitas di terminal maksimal 2 detik (-w), kemudian langsung unggah ke asciinema.org (-y).

5. asciinema play asciicast-22124.json

Untuk menjalankan hasil unduhan video (asciicast-22124.json) di terminal Anda.

6. asciinema upload asciicast-22124.json

Untuk mengunggah hasil rekaman (asciicast-22124.json) ke asciinema.org.

7. Silakan eksplorasi perintah help nya, asciinema -h

Contoh hasil rekaman

Sudah mencoba? Silakan berikan kesan di kolom komentar di bawah ini 🙂

Ramdziana F Yustitianto

Ramdziana adalah seorang narablog, pecinta kode, penggemar open source, pengguna GNU/Linux, dan penggemar Sherlock Holmes. Ikuti akun Twitter/Sebangsa @ramdziana

You may also like...