Rekam dan Putar Ulang Sesi Terminal dengan Asciinema di Linux

Rekam dan Putar Ulang Sesi Terminal dengan Asciinema di Linux

Perkenalan

Asciinema adalah alternatif yang ringan dan sangat efisien untuk a Naskah Perekam Sesi Terminal. Ini memungkinkan Anda untuk merekam, memutar ulang, dan membagikan rekaman sesi terminal yang diformat JSON Anda.
Keuntungan utama dibandingkan dengan perekam desktop seperti RecordMyDesktop, SimpreScreenRecorder, Vokoscreen atau Kazam adalah bahwa ASCIINEMA mencatat semua input terminal standar, output dan kesalahan sebagai a
Teks ASCII Polos dengan Kode Escape ANSI .

Akibatnya, file format JSON sangat kecil dalam ukuran bahkan untuk sesi terminal yang lebih panjang. Selain itu, format JSON memberi pengguna kemampuan untuk berbagi file output ASCIINEMA JSON melalui file sederhana
Transfer, di situs web publik sebagai bagian dari kode HTML tertanam atau bagikan di ASCIINEMA.org menggunakan akun asciinema. Terakhir, jika Anda telah melakukan kesalahan selama sesi terminal Anda, Anda
sesi terminal yang direkam dapat diedit secara retrospektif menggunakan editor teks apa pun, yaitu jika Anda tahu jalan Anda di sekitar sintaks kode pelarian ANSI.

Kesulitan

MUDAH

Konvensi

  • # - mensyaratkan perintah linux yang diberikan untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo memerintah
  • $ - mensyaratkan perintah Linux yang diberikan untuk dieksekusi sebagai pengguna biasa

Instalasi repositori standar

Sangat mungkin bahwa asciinema dapat diinstal sebagai bagian dari repositori distribusi Anda. Namun, jika ASCIINEMA tidak tersedia di sistem Anda atau Anda ingin menginstal versi terbaru, Anda dapat menggunakan
Linuxbrew Package Manager untuk melakukan instalasi ASCIINEMA seperti yang dijelaskan di bawah ini di bagian "Instalasi dari Sumber".

Arch Linux

# PACMAN -S ASCIINEMA 

Debian

# App Instal Asciinema 

Ubuntu

$ sudo apt instal asciinema 

Fedora

$ sudo dnf menginstal asciinema 

Instalasi dari sumber

Cara termudah dan direkomendasikan untuk menginstal versi Asciinema terbaru dari sumber adalah dengan menggunakan Linuxbrew Package Manager.

Prasyarat

Daftar prasyarat berikut memenuhi persyaratan ketergantungan untuk keduanya, Linuxbrew dan Asciinema.

  • git
  • GCC
  • membuat
  • rubi

Sebelum Anda melanjutkan dengan instalasi LinuxBrew, pastikan bahwa paket di atas ditempelkan pada sistem Linux Anda.

Arch Linux

# pacman -s git gcc membuat ruby 

Debian

# apt install git gcc buat ruby 

Ubuntu

$ sudo apt install git git gcc buat ruby 

Fedora

$ sudo dnf menginstal git gcc membuat ruby 

Centos

# yum instal git gcc buat ruby 

Instalasi Linuxbrew

Linuxbrew Package Manager adalah garpu dari manajer paket homebrew populer yang digunakan pada sistem operasi macOS Apple. Homebrew dikenal karena kemudahan penggunaannya, yang harus dilihat segera, saat kita menggunakan
Linuxbrew untuk menginstal asciinema. Jalankan perintah Bellow untuk menginstal LinuxBrew pada distribusi Linux Anda:

$ ruby ​​-e "$ (curl -fssl https: // mentah.Githubusercontent.com/linuxbrew/instal/master/install) " 

Linuxbrew sekarang diinstal di bawah Anda $ Rumah/.Linuxbrew/. Yang tersisa adalah menjadikannya bagian dari yang dapat dieksekusi Anda JALUR Variabel Lingkungan.

$ echo 'Path Ekspor = "$ rumah/.Linuxbrew/bin: $ path "'>> ~/.Bash_profile $ . ~/.Bash_profile 

Untuk mengonfirmasi instalasi LinuxBrew yang dapat Anda gunakan buatan Perintah untuk menanyakan versinya:

$ brew -versi homebrew 1.1.7 Homebrew/Homebrew-Core (GIT Revision 5229; Last Commit 2017-02-02) 

Instalasi Asciinema

Dengan Linuxbrew yang sekarang diinstal, pemasangan ASCIINEMA harus mudah seperti One-Liner tunggal:

$ BREW INSTAL ASCIINEMA 

Periksa pemasangan koreksi ASCIINEMA:

$ asciinema -versi asciinema 1.3.0 

Sesi Terminal Perekaman

Lagipula kerja keras dengan instalasi, akhirnya saatnya untuk bersenang -senang. ASCIINEMA adalah perangkat lunak yang sangat mudah digunakan. Faktanya, versi 1 saat ini.3 hanya memiliki sedikit opsi baris perintah
Tersedia dan salah satunya --membantu.

Mari kita mulai dengan merekam sesi terminal menggunakan rec pilihan. Perintah Linux berikut akan mulai merekam terminal Anda
sesi setelah itu Anda akan memiliki opsi untuk membuang rekaman Anda atau mengunggahnya di ASCIINEMA.Situs web org untuk referensi di masa mendatang.

$ asciinema rec 

Setelah Anda menjalankan perintah di atas, Anda akan diberi tahu bahwa sesi perekaman ASCIINEMA Anda telah dimulai, dan bahwa perekaman dapat dihentikan dengan masuk Ctrl+d Urutan atau eksekusi kunci
dari KELUAR memerintah. Jika Anda berada di debian/ubuntu/mint linux, Anda dapat mencoba ini sebagai rekaman ASCIINEMA pertama Anda:

$ SU Kata Sandi: # APT Instal SL # Exit $ SL 

Setelah Anda memasukkan perintah keluar terakhir, Anda akan ditanya:

$ EXIT ~ Asciicast Recording selesai. ~ Tekan untuk mengunggah, untuk membatalkan. https: // asciinema.org/a/7lw94ys68gsgr1yzdtzwijxm4 

Jika Anda tidak ingin mengunggah keterampilan baris perintah kung-fu super rahasia Anda ke ASCIINEMA.org, Anda memiliki opsi untuk menyimpan perekaman ASCIINEMA sebagai file lokal dalam format JSON. Misalnya,
mengikuti rekaman ASCIINEMA akan disimpan sebagai /tmp/my_rec.json:

$ asciinema rec /tmp /my_rec.json 

Fitur Asciinema lainnya yang sangat berguna adalah pemangkasan waktu. Jika Anda menjadi penulis yang lambat atau mungkin Anda melakukan multitasking, waktu antara masuk dan eksekusi perintah Anda bisa
peregangan sangat. ASCIINEMA CATUAN KETSTROKES ANDA REAL-TIME, yang berarti setiap jeda yang Anda buat akan mencerminkan Lenght dari video yang Anda hasilkan. Menggunakan -w opsi untuk memperpendek waktu antara
Penekanan tombol Anda. Misalnya, perintah Linux berikut ini memangkas waktu antara penekanan tombol Anda ke 0.2 detik:

$ asciinema rec -w 0.2 

Sesi Terminal Rekaman Putar Ulang

Ada dua opsi untuk memutar ulang sesi terminal yang direkam. Pertama, mainkan sesi terminal Anda langsung dari asciinema.org. Yaitu, asalkan Anda sebelumnya telah mengunggah rekaman Anda
asciinema.org dan Anda memiliki URL yang valid:

$ asciinema mainkan https: // asciinema.org/a/7lw94ys68gsgr1yzdtzwijxm4 

Atau, gunakan file JSON yang disimpan secara lokal:

$ asciinema play /tmp /my_rec.json 

Menggunakan wget Perintah untuk mengunduh rekaman Anda yang sebelumnya diunggah. Cukup tambahkan .json ke URL Anda yang ada:

$ wget -q -o steam_locomotif.json https: // asciinema.org/a/7lw94ys68gsgr1yzdtzwijxm4.JSON $ ASCIINEMA Mainkan Steam_locomotive.json 

Menanamkan video sebagai html

Terakhir, ASCIINEMA juga dilengkapi dengan pemain JavaScript yang berdiri sendiri. Yang berarti mudah untuk membagikan rekaman sesi terminal Anda di situs web Anda. Baris di bawah ini menggambarkan ide ini dengan a
sederhana indeks.html kode. Pertama, unduh semua bagian yang diperlukan:

$ CD/ TMP/ $ MKDIR STEAM_LOCOMOTIVE $ CD STEAM_LOCOMOTIVE/ $ WGET -Q -O STEAM_LOCOMOTIVE.json https: // asciinema.org/a/7lw94ys68gsgr1yzdtzwijxm4.json $ wget -q https: // github.com/asciinema/asciinema-player/rilis/download/v2.4.0/Asciinema-Player.css $ wget -q https: // github.com/asciinema/asciinema-player/rilis/download/v2.4.0/Asciinema-Player.JS 

Selanjutnya, buat yang baru /tmp/steam_locomotive/index.html file dengan konten berikut:

   rel = "stylesheet" type = "text/css" href = "./Asciinema-Player.CSS " />    src = "./steam_locomotive.json "cols =" 80 "baris =" 24 ">  src = "./Asciinema-Player.JS ">>   

Setelah siap, buka browser web Anda, tekan Ctrl+O dan buka yang baru Anda buat /tmp/steam_locomotive/index.html mengajukan. Hasilnya harus terlihat mirip dengan contoh video di bawah ini:

00: 00-00: 00     

Kesimpulan

Seperti yang disebutkan sebelumnya, keuntungan utama untuk merekam sesi terminal Anda dengan Asciinema Recorder adalah file output minuscule yang membuat video Anda sangat mudah dibagikan. Contoh di atas
Diproduksi file yang berisi 58 472 karakter, yaitu 58KB untuk sesi video 22 detik. Saat meninjau file output JSON, bahkan angka ini sangat meningkat, sebagian besar karena fakta bahwa kami memiliki
melihat lokomotif uap yang bergegas melintasi terminal kami. Sesi terminal normal dengan panjang ini harus menghasilkan file output yang jauh lebih kecil.

Selanjutnya, waktu ketika Anda akan mengajukan pertanyaan di forum tentang masalah konfigurasi Linux Anda dan mengalami kesulitan untuk menjelaskan cara mereproduksi masalah Anda, cukup jalankan:

$ asciinema rec 

dan tempel URL yang dihasilkan ke dalam posting forum Anda.

Penyelesaian masalah

asciinema membutuhkan UTF-8

Pesan eror:

ASCIINEMA MEMBUTUHKAN LOKAL Native UTF-8 untuk berlari. Periksa output perintah 'lokal'. 

Larutan:
Hasilkan dan Ekspor Lokal UTF-8. Misalnya:

$ localedef -c -f utf -8 -i en_us en_us.UTF-8 $ Ekspor LC_ALL = EN_US.UTF-8 

Tutorial Linux Terkait:

  • Perekam layar ubuntu terbaik
  • Pengantar Otomatisasi Linux, Alat dan Teknik
  • Menguasai loop skrip bash
  • Menangani input pengguna dalam skrip bash
  • Hal -hal yang harus diinstal pada ubuntu 20.04
  • Cara menguji mikrofon di manjaro linux
  • Cara mengambil tangkapan layar di Manjaro
  • Sistem Linux Hung? Cara melarikan diri ke baris perintah dan…
  • Cara mengambil tangkapan layar di ubuntu 22.04 Jammy Jellyfish…
  • Mint 20: Lebih baik dari Ubuntu dan Microsoft Windows?