Sesi Terminal Rakam dan Mainkan dengan Asciinema di Linux

Sesi Terminal Rakam dan Mainkan dengan Asciinema di Linux

Pengenalan

Asciinema adalah alternatif yang ringan dan sangat berkesan untuk a Skrip Perakam Sesi Terminal. Ia membolehkan anda merakam, memainkan semula dan berkongsi rakaman Sesi Terminal Format JSON anda.
Kelebihan utama berbanding dengan perakam desktop seperti RecordMydesktop, SimplesCreenRecorder, Vokoscreen atau Kazam ialah asciinema merekodkan semua input, output dan ralat terminal standard sebagai a
teks ASCII biasa dengan kod pelarian ANSI .

Akibatnya, fail format json adalah minuscule dalam saiz walaupun untuk sesi terminal yang lebih lama. Selain itu, format JSON memberikan pengguna keupayaan untuk berkongsi fail output asciinema json melalui fail mudah
Pemindahan, di laman web awam sebagai sebahagian daripada kod HTML tertanam atau kongsi di ASCIINEMA.org menggunakan akaun asciinema. Akhir sekali, sekiranya anda telah membuat kesilapan semasa sesi terminal anda, anda
Sesi terminal yang dirakam boleh diedit secara retrospektif menggunakan mana -mana editor teks, iaitu jika anda tahu jalan anda di sekitar sintaks kod pelarian ANSI.

Kesukaran

Mudah

Konvensyen

  • # - Memerlukan arahan Linux yang diberikan untuk dilaksanakan dengan keistimewaan akar sama ada secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah
  • $ - Memerlukan arahan Linux yang diberikan sebagai pengguna yang tidak layak

Pemasangan repositori standard

Kemungkinan besar asciinema boleh dipasang sebagai sebahagian daripada repositori pengedaran anda. Walau bagaimanapun, jika asciinema tidak tersedia di sistem anda atau anda ingin memasang versi terkini, anda boleh menggunakan
Pengurus Pakej Linuxbrew untuk melaksanakan pemasangan ASCIINEMA seperti yang diterangkan di bawah di bahagian "Pemasangan dari Sumber".

Arch Linux

# pacman -s asciinema 

Debian

# apt pasang asciinema 

Ubuntu

$ sudo apt memasang asciinema 

Fedora

$ sudo dnf memasang asciinema 

Pemasangan dari sumber

Cara paling mudah dan disyorkan untuk memasang versi Asciinema terkini dari sumber adalah dengan menggunakan Pengurus Pakej Linuxbrew.

Prasyarat

Senarai prasyarat berikut memenuhi keperluan ketergantungan untuk kedua -dua, linuxbrew dan asciinema.

  • git
  • GCC
  • buat
  • Ruby

Sebelum anda meneruskan pemasangan Linuxbrew pastikan pakej di atas dipasang pada sistem linux anda.

Arch Linux

# pacman -s git gcc membuat ruby 

Debian

# Apt Pasang Git GCC Buat Ruby 

Ubuntu

$ sudo apt memasang git gcc buat ruby 

Fedora

$ sudo dnf memasang git gcc buat ruby 

Centos

# yum pasang git gcc buat ruby 

Pemasangan Linuxbrew

Pengurus Pakej Linuxbrew adalah garpu Pengurus Pakej Homebrew yang popular yang digunakan pada sistem operasi MACOS Apple. Homebrew terkenal dengan kemudahan penggunaannya, yang akan dilihat tidak lama lagi, ketika kita menggunakan
Linuxbrew untuk memasang asciinema. Jalankan arahan Bellow untuk memasang Linuxbrew pada pengedaran Linux anda:

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

Linuxbrew kini dipasang di bawah $ Rumah/.linuxbrew/. Apa yang tersisa adalah menjadikannya sebahagian daripada yang boleh dilaksanakan Jalan pembolehubah persekitaran.

$ echo 'Export Path = "$ Home/.linuxbrew/bin: $ path "'>> ~/.BASH_PROFILE $ . ~/.BASH_PROFILE 

Untuk mengesahkan pemasangan Linuxbrew yang boleh anda gunakan Brew perintah untuk menanyakan versi:

$ Brew -Homebrew 1.1.7 Homebrew/Homebrew-Core (Semakan Git 5229; Komite Terakhir 2017-02-02) 

Pemasangan Asciinema

Dengan Linuxbrew yang kini dipasang, pemasangan Asciinema semestinya mudah sebagai satu-liner tunggal:

$ brew pemasangan asciinema 

Periksa pemasangan pemasangan asciinema:

$ asciinema --version asciinema 1.3.0 

Rakaman Sesi Terminal

Setelah semua kerja keras dengan pemasangan, akhirnya sudah tiba masanya untuk bersenang -senang. Asciinema adalah perisian yang sangat mudah digunakan. Malah, versi semasa 1.3 hanya mempunyai beberapa pilihan baris arahan
ada dan salah satunya adalah --tolong.

Mari mulakan dengan merakam sesi terminal menggunakan Rec pilihan. Perintah Linux berikut akan mula merakam terminal anda
sesi selepas itu anda akan mempunyai pilihan sama ada membuang rakaman anda atau memuat naiknya pada asciinema.laman web org untuk rujukan masa depan.

$ asciinema rec 

Sebaik sahaja anda menjalankan arahan di atas, anda akan dimaklumkan bahawa sesi rakaman asciinema anda telah bermula, dan rakaman itu boleh dihentikan dengan memasuki Ctrl+d urutan atau pelaksanaan utama
dari keluar perintah. Sekiranya anda berada di Debian/Ubuntu/Mint Linux, anda boleh mencuba ini sebagai rakaman Asciinema pertama anda:

$ Su kata laluan: # apt Pasang SL # Exit $ SL 

Sebaik sahaja anda memasukkan arahan keluar terakhir, anda akan diminta:

$ keluar ~ rakaman asciicast selesai. ~ Tekan untuk memuat naik, membatalkan. https: // asciinema.org/a/7lw94ys68gsgr1yzdtzwijxm4 

Sekiranya anda tidak suka memuat naik kemahiran baris perintah kung-fu super anda ke asciinema.org, anda mempunyai pilihan untuk menyimpan rakaman asciinema sebagai fail tempatan dalam format json. Contohnya,
Berikutan rakaman asciinema akan disimpan sebagai /tmp/my_rec.json:

$ asciinema rec /tmp /my_rec.json 

Satu lagi ciri Asciinema yang sangat berguna adalah pemangkasan masa. Sekiranya anda menjadi penulis yang perlahan atau mungkin anda melakukan multitasking, masa antara memasuki dan melaksanakan perintah anda boleh
regangkan sangat. Asciinema merekodkan ketukan kekunci anda masa nyata, yang bermaksud setiap jeda yang anda buat akan mencerminkan kelebihan video yang anda hasilkan. Gunakan -w pilihan untuk memendekkan masa antara
ketat kekunci anda. Sebagai contoh, arahan Linux berikut memangkas masa antara ketukan kekunci anda ke 0.2 saat:

$ asciinema rec -w 0.2 

Mainkan semula sesi terminal yang direkodkan

Terdapat dua pilihan untuk memainkan semula sesi terminal anda. Pertama, mainkan sesi terminal anda terus dari asciinema.org. Iaitu, dengan syarat anda telah memuat naik rakaman anda sebelum ini
Asciinema.org dan anda mempunyai URL yang sah:

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

Sebagai alternatif, gunakan fail JSON yang disimpan di tempatan anda:

$ asciinema main /tmp /my_rec.json 

Gunakan wget Perintah untuk memuat turun rakaman yang anda muat naik sebelumnya. Cukup tambah .json ke URL anda yang ada:

$ wget -q -o steam_locomotive.json https: // asciinema.org/a/7lw94ys68gsgr1yzdtzwijxm4.json $ asciinema bermain stim_locomotive.json 

Membenamkan video sebagai html

Terakhir, Asciinema juga dilengkapi dengan pemain JavaScript yang berdiri sendiri. Yang bermaksud bahawa mudah untuk berkongsi rakaman sesi terminal anda di laman web anda. Garis di bawah menggambarkan idea ini dengan a
Mudah indeks.html kod. Pertama, muat turun semua bahagian 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/siaran/muat turun/v2.4.0/Asciinema-player.CSS $ wget -q https: // github.com/asciinema/asciinema-player/siaran/muat turun/v2.4.0/Asciinema-player.js 

Seterusnya, buat yang baru /tmp/stim_locomotive/indeks.html fail dengan kandungan 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 penyemak imbas web anda, tekan Ctrl+O dan buka yang baru dibuat /tmp/stim_locomotive/indeks.html fail. Hasilnya harus kelihatan serupa dengan video contoh di bawah:

00: 00-00: 00     

Kesimpulan

Seperti yang dinyatakan sebelum ini, kelebihan utama untuk merakam sesi terminal anda dengan perakam asciinema adalah fail output minuscule yang menjadikan video anda sangat mudah dikongsi. Contoh di atas
menghasilkan fail yang mengandungi 58 472 aksara, iaitu 58kb selama 22 saat sesi. Semasa mengkaji fail JSON output, walaupun nombor ini sangat melambung, kebanyakannya disebabkan oleh fakta bahawa kita ada
Melihat lokomotif stim bergegas melintasi terminal kami. Sesi terminal biasa panjang ini harus menghasilkan fail output yang lebih kecil.

Seterusnya, ketika anda hendak mengemukakan soalan mengenai forum mengenai isu konfigurasi Linux anda dan mempunyai masa yang sukar untuk menjelaskan cara menghasilkan semula masalah anda, hanya jalankan:

$ asciinema rec 

dan tampal URL yang dihasilkan ke dalam catatan forum anda.

Penyelesaian masalah

Asciinema Memerlukan UTF-8

Mesej ralat:

Asciinema memerlukan tempat asli UTF-8 untuk dijalankan. Semak output arahan 'locale'. 

Penyelesaian:
Menjana dan mengeksport lokasi UTF-8. Sebagai contoh:

$ localedef -c -f utf -8 -i en_us en_us.UTF-8 $ Export LC_ALL = en_US.UTF-8 

Tutorial Linux Berkaitan:

  • Perekam skrin Ubuntu terbaik
  • Pengenalan kepada Automasi, Alat dan Teknik Linux
  • Menguasai Gelung Skrip Bash
  • Mengendalikan input pengguna dalam skrip bash
  • Perkara yang hendak dipasang di Ubuntu 20.04
  • Cara Menguji Mikrofon di Manjaro Linux
  • Cara mengambil tangkapan skrin di Manjaro
  • Sistem Hung Linux? Cara melarikan diri ke baris arahan dan ..
  • Cara mengambil tangkapan skrin di Ubuntu 22.04 Jur -ubur Jammy ..
  • Mint 20: Lebih baik daripada Ubuntu dan Microsoft Windows?