自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何在Linux中使用Asciinema進(jìn)行錄制和回放終端會(huì)話

系統(tǒng) Linux
Asciinema 是一個(gè)輕量并且非常高效的終端會(huì)話錄制器。使用它可以錄制、回放和分享 JSON 格式的終端會(huì)話記錄。與一些桌面錄制器,比如 Recordmydesktop、Simplescreenrecorder、Vokoscreen 或 Kazam 相比,Asciinema 最主要的優(yōu)點(diǎn)是,它能夠以通過(guò) ASCII 文本以及 ANSI 轉(zhuǎn)義碼編碼來(lái)錄制所有的標(biāo)準(zhǔn)終端輸入、輸出和錯(cuò)誤信息。

如何在Linux中使用Asciinema進(jìn)行錄制和回放終端會(huì)話

簡(jiǎn)介

Asciinema 是一個(gè)輕量并且非常高效的終端會(huì)話錄制器。使用它可以錄制、回放和分享 JSON 格式的終端會(huì)話記錄。與一些桌面錄制器,比如 Recordmydesktop、Simplescreenrecorder、Vokoscreen 或 Kazam 相比,Asciinema 最主要的優(yōu)點(diǎn)是,它能夠以通過(guò) ASCII 文本以及 ANSI 轉(zhuǎn)義碼編碼來(lái)錄制所有的標(biāo)準(zhǔn)終端輸入、輸出和錯(cuò)誤信息。

事實(shí)上,即使是很長(zhǎng)的終端會(huì)話,錄制出的 JSON 格式文件也非常小。另外,JSON 格式使得用戶可以利用簡(jiǎn)單的文件轉(zhuǎn)化器,將輸出的 JSON 格式文件嵌入到 HTML 代碼中,然后分享到公共網(wǎng)站或者使用 asciinema 賬戶分享到 Asciinema.org 。***,如果你的終端會(huì)話中有一些錯(cuò)誤,并且你還懂一些 ASCI 轉(zhuǎn)義碼語(yǔ)法,那么你可以使用任何編輯器來(lái)修改你的已錄制終端會(huì)話。

難易程度:

很簡(jiǎn)單!

標(biāo)準(zhǔn)終端:

  • # - 給定命令需要以 root 用戶權(quán)限運(yùn)行或者使用 sudo 命令
  • $ - 給定命令以常規(guī)權(quán)限用戶運(yùn)行

從軟件庫(kù)安裝

通常, asciinema 可以使用你的發(fā)行版的軟件庫(kù)進(jìn)行安裝。但是,如果不可以使用系統(tǒng)的軟件庫(kù)進(jìn)行安裝或者你想安裝***的版本,那么,你可以像下面的“從源代碼安裝”部分所描述的那樣,使用 Linuxbrew 包管理器來(lái)執(zhí)行 Asciinema 安裝。

在 Arch Linux 上安裝:

  1. # pacman -S asciinema 

在 Debian 上安裝:

  1. # apt install asciinema 

在 Ubuntu 上安裝:

  1. $ sudo apt install asciinema 

在 Fedora 上安裝:

  1. $ sudo dnf install asciinema 

從源代碼安裝

最簡(jiǎn)單并且值得推薦的方式是使用 Linuxbrew 包管理器,從源代碼安裝***版本的 Asciinema 。

前提條件

下面列出的前提條件是安裝 Linuxbrew 和 Asciinema 需要滿足的依賴關(guān)系:

  • git
  • gcc
  • make
  • ruby

在安裝 Linuxbrew 之前,請(qǐng)確保上面的這些包都已經(jīng)安裝在了你的 Linux 系統(tǒng)中。

在 Arch Linux 上安裝 ruby:

  1. # pacman -S git gcc make ruby 

在 Debian 上安裝 ruby:

  1. # apt install git gcc make ruby 

在 Ubuntu 上安裝 ruby:

  1. $ sudo apt install git gcc make ruby 

在 Fedora 上安裝 ruby:

  1. $ sudo dnf install git gcc make ruby 

在 CentOS 上安裝 ruby:

  1. # yum install git gcc make ruby 

安裝 Linuxbrew

Linuxbrew 包管理器是蘋(píng)果的 MacOS 操作系統(tǒng)很受歡迎的 Homebrew 包管理器的一個(gè)復(fù)刻版本。還沒(méi)發(fā)布多久,Homebrew 就以容易使用而著稱。如果你想使用 Linuxbrew 來(lái)安裝 Asciinema,那么,請(qǐng)運(yùn)行下面命令在你的 Linux 版本上安裝 Linuxbrew:

  1. $ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install)" 

現(xiàn)在,Linuxbrew 已經(jīng)安裝到了目錄 $HOME/.linuxbrew/ 下。剩下需要做的就是使它成為可執(zhí)行 PATH 環(huán)境變量的一部分。

  1. $ echo 'export PATH="$HOME/.linuxbrew/bin:$PATH"' >>~/.bash_profile
  2. $ . ~/.bash_profile 

為了確認(rèn) Linuxbrew 是否已經(jīng)安裝好,你可以使用 brew 命令來(lái)查看它的版本:

  1. $ brew --version
  2. Homebrew 1.1.7
  3. Homebrew/homebrew-core (git revision 5229; last commit 2017-02-02) 

安裝 Asciinema

安裝好 Linuxbrew 以后,安裝 Asciinema 就變得無(wú)比容易了:

  1. $ brew install asciinema 

檢查 Asciinema 是否安裝正確:

  1. $ asciinema --versionasciinema 1.3.0 

錄制終端會(huì)話

經(jīng)過(guò)一番辛苦的安裝工作以后,是時(shí)候來(lái)干一些有趣的事情了。Asciinema 是一個(gè)非常容易使用的軟件。事實(shí)上,目前的 1.3 版本只有很少的幾個(gè)可用命令行選項(xiàng),其中一個(gè)是 --help 。

我們首先使用 rec 選項(xiàng)來(lái)錄制終端會(huì)話。下面的命令將會(huì)開(kāi)始錄制終端會(huì)話,之后,你將會(huì)有一個(gè)選項(xiàng)來(lái)丟棄已錄制記錄或者把它上傳到 asciinema.org 網(wǎng)站以便將來(lái)參考。

  1. $ asciinema rec 

運(yùn)行上面的命令以后,你會(huì)注意到, Asciinema 已經(jīng)開(kāi)始錄制終端會(huì)話了,你可以按下 CTRL+D 快捷鍵或執(zhí)行 exit 命令來(lái)停止錄制。如果你使用的是 Debian/Ubuntu/Mint Linux 系統(tǒng),你可以像下面這樣嘗試進(jìn)行***次 asciinema 錄制:

  1. $ su 
  2. Password
  3. # apt install sl 
  4. # exit 
  5. $ sl 

一旦輸入***一個(gè) exit 命令以后,將會(huì)詢問(wèn)你:

  1. $ exit 
  2. ~ Asciicast recording finished. 
  3. ~ Press <Enter> to upload, <Ctrl-C> to cancel. 
  4. https://asciinema.org/a/7lw94ys68gsgr1yzdtzwijxm4 

如果你不想上傳你的私密命令行技巧到 asciinema.org 網(wǎng)站,那么有一個(gè)選項(xiàng)可以把 Asciinema 記錄以 JSON 格式保存為本地文件。比如,下面的 asciinema 記錄將被存為 /tmp/my_rec.json:

  1. $ asciinema rec /tmp/my_rec.json 

另一個(gè)非常有用的 asciinema 特性是時(shí)間微調(diào)。如果你的鍵盤(pán)輸入速度很慢,或者你在進(jìn)行多任務(wù),輸入命令和執(zhí)行命令之間的時(shí)間會(huì)比較長(zhǎng)。Asciinema 會(huì)記錄你的實(shí)時(shí)按鍵時(shí)間,這意味著每一個(gè)停頓都將反映在最終視頻的長(zhǎng)度上??梢允褂?-w 選項(xiàng)來(lái)縮短按鍵的時(shí)間間隔。比如,下面的命令將按鍵的時(shí)間間隔縮短為 0.2 秒:

  1. $ asciinema rec -w 0.2 

回放已錄制終端會(huì)話

有兩種方式可以來(lái)回放已錄制會(huì)話。***種方式是直接從 asciinema.org 網(wǎng)站上播放終端會(huì)話。這意味著,你之前已經(jīng)把錄制會(huì)話上傳到了 asciinema.org 網(wǎng)站,并且需要提供有效鏈接:

  1. $ asciinema play https://asciinema.org/a/7lw94ys68gsgr1yzdtzwijxm4 

另外,你也可以使用本地存儲(chǔ)的 JSON 文件:

  1. $ asciinema play /tmp/my_rec.json 

如果要使用 wget 命令來(lái)下載之前的上傳記錄,只需在鏈接的后面加上 .json:

  1. $ wget -q -O steam_locomotive.json https://asciinema.org/a/7lw94ys68gsgr1yzdtzwijxm4.json 
  2. $ asciinema play steam_locomotive.json 

將視頻嵌入 HTML

***,asciinema 還帶有一個(gè)獨(dú)立的 JavaScript 播放器。這意味者你可以很容易的在你的網(wǎng)站上分享終端會(huì)話記錄。下面,使用一段簡(jiǎn)單的 index.html 代碼來(lái)說(shuō)明這個(gè)方法。首先,下載所有必要的東西:

  1. $ cd /tmp/ 
  2. $ mkdir steam_locomotive 
  3. $ cd steam_locomotive/ 
  4. $ wget -q -O steam_locomotive.json https://asciinema.org/a/7lw94ys68gsgr1yzdtzwijxm4.json 
  5. $ wget -q https://github.com/asciinema/asciinema-player/releases/download/v2.4.0/asciinema-player.css 
  6. $ wget -q https://github.com/asciinema/asciinema-player/releases/download/v2.4.0/asciinema-player.js 

之后,創(chuàng)建一個(gè)新的包含下面這些內(nèi)容的 /tmp/steam_locomotive/index.html 文件:

  1. <html> 
  2. <head> 
  3.   <link rel="stylesheet" type="text/css" href="./asciinema-player.css" /> 
  4. </head> 
  5. <body> 
  6.   <asciinema-player src="./steam_locomotive.json" cols="80" rows="24"></asciinema-player> 
  7.   <script src="./asciinema-player.js"></script> 
  8. </body> 
  9. </html> 

完成以后,打開(kāi)你的網(wǎng)頁(yè)瀏覽器,按下 CTRL+O 來(lái)打開(kāi)新創(chuàng)建的 /tmp/steam_locomotive/index.html 文件。

結(jié)論

正如前面所說(shuō)的,使用 asciinema 錄制器來(lái)錄制終端會(huì)話最主要的優(yōu)點(diǎn)是它的輸出文件非常小,這使得你的視頻很容易分享出去。上面的例子產(chǎn)生了一個(gè)包含 58472 個(gè)字符的文件,它是一個(gè)只有 58 KB 大 小的 22 秒終端會(huì)話視頻。如果我們查看輸出的 JSON 文件,會(huì)發(fā)現(xiàn)甚至這個(gè)數(shù)字已經(jīng)非常大了,這主要是因?yàn)橐粋€(gè) “蒸汽機(jī)車” 已經(jīng)跑過(guò)了終端。這個(gè)長(zhǎng)度的正常終端會(huì)話一般會(huì)產(chǎn)生一個(gè)更小的輸出文件。

下次,當(dāng)你想要在一個(gè)論壇上詢問(wèn)關(guān)于 Linux 配置的問(wèn)題,并且很難描述你的問(wèn)題的時(shí)候,只需運(yùn)行下面的命令:

  1. $ asciinema rec 

然后把***的鏈接貼到論壇的帖子里。

故障排除

在 UTF-8 環(huán)境下運(yùn)行 asciinema

錯(cuò)誤信息:

  1. asciinema needs a UTF-8 native locale to run. Check the output of `locale` command. 

解決方法: 生成并導(dǎo)出 UTF-8 語(yǔ)言環(huán)境。例如:

  1. $ localedef -c -f UTF-8 -i en_US en_US.UTF-8 
  2. $ export LC_ALL=en_US.UTF-8 
責(zé)任編輯:龐桂玉 來(lái)源: Linux中國(guó)
相關(guān)推薦

2014-05-12 10:57:41

TermRecord終端會(huì)話

2019-11-15 09:58:04

LinuxAsciinemapython

2022-01-27 15:37:34

Asciinema終端會(huì)話記錄器開(kāi)源

2022-11-24 13:06:32

LinuxAudacity

2021-03-14 09:28:24

Linux Shell腳本

2021-09-21 15:44:02

LinuxOBSWayland

2018-08-27 08:43:11

Linux終端會(huì)話SVG動(dòng)畫(huà)

2016-07-18 14:49:22

操作系統(tǒng)Linux終端操作

2022-10-25 09:07:28

Linuxxargs命令

2019-09-16 19:00:48

Linux變量

2023-02-27 17:36:33

LinuxSIGINT信號(hào)

2018-01-09 09:00:01

Linux命令文件壓縮

2018-03-26 09:17:53

LinuxTlog會(huì)話錄制

2018-06-26 09:15:24

Linux命令history

2022-11-18 10:16:26

Linuxwc 命令

2018-05-16 10:32:06

Linux命令find

2025-01-20 08:40:00

Python對(duì)象

2023-10-18 16:30:50

2018-10-09 08:30:55

UbuntuLinuxRAR文件

2023-09-14 15:05:33

grep正則表達(dá)式
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)