GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

asciinema

asciinema – ターミナルセッションレコーダー 📹

投稿日:

ターミナルセッションレコーダー 📹 https://asciinema.org

注:これはdevelopmentブランチのREADMEです。 最新の安定版については、バージョンを参照してください

浮腫

ターミナルセッションレコーダーとasciinema.orgのベストコンパニオン。

クイック紹介

asciinemaを使用すると、ターミナルセッションを簡単に記録し、端末やWebブラウザで再生することができます。

最新バージョンをインストールする( その他のインストールオプション ):

sudo pip3 install asciinema

あなたの最初のセッションを記録してください:

asciinema rec first.cast

今すぐ倍速でそれを再生する:

asciinema play -s 2 first.cast

または通常の速度で、アイドル時間は2秒に制限されています。

asciinema play -i 2 first.cast

また、 -i 2asciinema recasciinema recて、記録に永久に設定することもできます。 アイドルタイムリミットは、レコーディングをもっと面白く見て、試してみてください。

あなたがウェブ上でそれを見て共有したいのであれば、それをアップロードしてください:

asciinema upload first.cast

上の例はデフォルトのasciinema-serverインスタンスであるasciinema.orgにアップロードし、Webブラウザで記録を見るためのシークレットリンクを表示します。

ファイル名を省略することで、一度に記録しアップロードすることができます:

asciinema rec

録画が完了したらアップロードを確認するよう求められますので、あなたの同意なしには何も送信されません。

これらは基本的なものでしたが、もっと多くのことができます。 以下のセクションでは、録音のインストール、使用、およびホスティングについて詳しく説明します。

インストール

Pythonパッケージ

asciinemaはPyPIで利用でき、pip(Python 3とsetuptoolsが必要)でインストールできます:

sudo pip3 install asciinema

これは推奨インストール方法で、最新のリリース版を提供します。

ネイティブパッケージ

asciinemaは、Mac OS X、Linux、FreeBSD上で最も人気のあるパッケージマネージャのリポジトリに含まれています。 asciinemaという名前のパッケージを探します。 利用可能なパッケージリストを参照してください。

サポートされるLinuxディストリビューションをスナップ

あなたがUbuntuまたは他のスナップサポートされているLinuxディストリビューション実行している場合は、asciinemaを以下のようにインストールすることができます:

snap install asciinema --classic

このスナップには、asciinemaを実行するために必要なすべての依存関係が含まれており、新しいバージョンがストアにプッシュされると自動的に更新されます。

ドッカー画像

asciinemaドッカーの画像は、Ubuntu 16.04に基づいており、asciinemaレコーダーの最新バージョンがプリインストールされています。

docker pull asciinema/asciinema

実行中に擬似TTY( -t )を割り当て、STDINをオープン( -i )にしてconfigディレクトリボリューム( -v )をマウントすることを忘れないでください:

docker run --rm -ti -v "$HOME/.config/asciinema":/root/.config/asciinema asciinema/asciinema

コンテナ内で実行されるデフォルトコマンドはasciinema recです。

しかし、このイメージにはソフトウェアがあまりインストールされていません。 ほとんどの場合、録画する前に余分なプログラムをインストールすることができます。 1つのオプションは、このイメージから新しいイメージを派生させることです(あなたのカスタムDockerfileをFROM asciinema/asciinemaで開始する)。 別のオプションは、 /bin/bashをコマンドとしてコンテナを起動し、余分なパッケージをインストールしてasciinema recを手動で起動することasciinema rec

docker run --rm -ti -v "$HOME/.config/asciinema":/root/.config/asciinema asciinema/asciinema /bin/bash
root@6689517d99a1:~# apt-get install foobar
root@6689517d99a1:~# asciinema rec

ソースコードのチェックアウトから最新バージョンを実行する

上記のいずれにも該当しない場合は、レポをクローンし、チェックアウトからアスキーネマをまっすぐに実行してください。

レポをクローン:

git clone https://github.com/asciinema/asciinema.git
cd asciinema

最新の安定版が必要な場合:

git checkout master

現在の開発版が必要な場合:

git checkout develop

次にそれを実行します:

python3 -m asciinema --version

使用法

asciinemaはgitapt-getまたはbrewと同様の複数のコマンドで構成されています。

引数なしでasciinemaを実行すると、使用可能なすべてのコマンドがオプション付きで一覧表示されます。

rec [filename]

端末セッションを記録する。

asciinema rec [filename]実行すると、新しい記録セッションが開始されます。 記録されるコマンド(プロセス)は、 -cオプションで指定することができます(下記参照)。ほとんどの場合、 $SHELLがデフォルトとなります。

シェルを終了すると録音が終了します( Ctrl + Dまたはexitを押します)。 記録されたプロセスがシェルでない場合、プロセスが終了すると記録が終了します。

filename引数が省略された場合(確認を求めた後)、結果のasciicastはasciinema-server (デフォルトではasciinema.org)にアップロードされ、 監視され共有されます。

filename引数が指定されている場合、結果の記録( asciicastと呼ばれる)はローカルファイルに保存されます。 これは後にasciinema play <filename>で再生したり、 asciinema upload <filename> asciinemaサーバにアップロードすることができます。

記録されたプロセス環境変数にASCIINEMA_REC=1が追加されます。 これは、シェルの設定ファイル( .bashrc.zshrc )がシェルの記録時にプロンプ​​トを変更したり、サウンドを再生したりするために使用できます。

利用可能なオプション:

  • --stdin--stdin (キーボード)録音を有効にします(下記参照)
  • --append – 既存の録音に--appendする
  • --raw – タイミング情報や他のメタデータなしで生のSTDOUT出力を保存します。
  • --overwrite – 既に存在する場合は記録を上書きする
  • -c, --command=<command>-c, --command=<command> – 記録するコマンドを指定します。デフォルトは$ SHELLです。
  • -e, --env=<var-names> – キャプチャする環境変数のリスト。デフォルトはSHELL,TERM
  • -t, --title=<title>-t, --title=<title> – アスキーキャストのタイトルを指定します
  • -i, --idle-time-limit=<sec> – 記録された端末の非-i, --idle-time-limit=<sec>を最大<sec>制限する
  • -y, --yes –yes – すべてのプロンプトに「はい」と答えます(アップロードの確認など)
  • -q, --quiet –quiet – 静かにして、すべての通知/警告を抑制します(暗黙のうちに-y)

Stdinレコーディングは、現在記録されているシェルでユーザーが入力したすべての文字のキャプチャを可能にします。 これは、押されたキーを表示するためにプレイヤー(例えば、 アスキーネマ – プレイヤー )によって使用されてもよい。 これは基本的にキーロギング(単一のシェルインスタンスにスコープされている) --stdin 、デフォルトでは無効になっており、– --stdinオプションで明示的に有効にする--stdinます。

play <filename>

リプレイはターミナルにアスキキャビストを記録しました。

このコマンドは、指定されたasciicast( recコマンドによって記録された)を端末で直接再生します。

次のキーボードショートカットを利用できます:

  • スペース – トグルの一時停止、
  • – 一度にフレームを録音するステップ(一時停止するとき)
  • Ctrl + C – 終了します。

ローカルファイルから再生する:

asciinema play /path/to/asciicast.cast

HTTP(S)URLから再生する:

asciinema play https://asciinema.org/a/22124.cast
asciinema play http://example.com/demo.cast

asciicastページのURLから再生する(ページのHTMLに<link rel="alternate" type="application/x-asciicast" href="/my/ascii.cast">が必要)

asciinema play https://asciinema.org/a/22124
asciinema play http://example.com/blog/post.html

stdinから再生する:

cat /path/to/asciicast.cast | asciinema play -
ssh user@host cat asciicast.cast | asciinema play -

IPFSからの再生:

asciinema play dweb:/ipfs/QmNe7FsYaHc9SaDEAEXbaagAzNw9cH7YbzN4xV7jV1MCzK/ascii.cast

利用可能なオプション:

  • -i, --idle-time-limit=<sec> – 再生された端末の非-i, --idle-time-limit=<sec>をmax <sec>秒に制限する
  • -s, --speed=<factor>-s, --speed=<factor> – 再生速度(分数でもよい)

最高の再生体験を得るには、新しいターミナルサイズの制御シーケンスの「トランスコーディング」がないため、録音に使用されたサイズ以上のサイズのターミナルでasciinema playを実行することをお勧めします。

cat <filename>

記録されたアスキーキャストのフル出力を端末に出力します。

asciinema cat <filename>は、asciicastに保存されたタイミング情報を使用して記録されたセッションを再生しasciinema play <filename>が、すぐに完全な出力(すべてのエスケープシーケンスを含む)を端末にダンプしasciinema cat <filename>

asciinema cat existing.cast >output.txtは、 asciinema rec --raw output.txt録音と同じ結果をasciinema rec --raw output.txtます。

upload <filename>

記録されたasciicastをasciinema.orgのサイトにアップロードします。

このコマンドは、指定されたasciicast( recコマンドで記録された)をasciinema.orgにアップロードします。

asciinema rec demo.cast + asciinema play demo.cast + asciinema upload demo.castは、asciinema.orgで公開する前にasciicastをレビューしたい場合は、素晴らしいコンボです。

auth

インストールIDをasciinema.orgのユーザーアカウントにリンクしてください。

asciinema.orgであなたの録音を管理したい場合(タイトル/テーマの変更、削除)、あなたの「インストールID」とasciinema.orgのユーザアカウントをリンクする必要があります。

このコマンドは、Webブラウザで開くURLを表示します。 まずログインするように求められます。

インストールIDはasciinemaを初めて実行したときにローカルで生成されたランダムID( UUID v4 )で、 $HOME/.config/asciinema/install-id保存されます。 ローカルマシンとアップロードされた録画とを接続することが目的なので、後でasciinema.orgアカウントに関連付けることができます。 こうすることで、アップロードをアカウント作成から切り離し、どんな順序でもアップロードできるようになります。

asciinemaを使用している各マシンとシステムのユーザーアカウントに新しいインストールIDが生成されるため、すべての記録をasciinema.orgの単一のアカウントにasciinema authするには、それらのすべてのマシンでasciinema authを実行する必要があります。

2.0以前のasciinemaバージョンは、インストールIDを「APIトークン」と混同して言及していました。

Web上でのレコーディングのホスティング

上記のUsage > recセクションで述べたように、 asciinema rec filename引数が省略された場合、記録されたasciicastはasciinema.orgにアップロードされます あなたはそれを見ることができ、秘密のURLを介して共有することができます。

録音を自分でホストする場合は、次のいずれかの方法で録音することができます。

設定ファイル

asciinemaは、 $HOME/.config/asciinema/config設定ファイルを作成することで設定できます。

設定はセクション( [api][record][play] )に分割されます。 各セクションの利用可能なすべてのオプションの一覧は次のとおりです。

[api]

; API server URL, default: https://asciinema.org
; If you run your own instance of asciinema-server then set its address here
; It can also be overriden by setting ASCIINEMA_API_URL environment variable
url = https://asciinema.example.com

[record]

; Command to record, default: $SHELL
command = /bin/bash -l

; Enable stdin (keyboard) recording, default: no
stdin = yes

; List of environment variables to capture, default: SHELL,TERM
env = SHELL,TERM,USER

; Limit recorded terminal inactivity to max n seconds, default: off
idle_time_limit = 2

; Answer "yes" to all interactive prompts, default: no
yes = true

; Be quiet, suppress all notices/warnings, default: no
quiet = true

[play]

; Playback speed (can be fractional), default: 1
speed = 2

; Limit replayed terminal inactivity to max n seconds, default: off
idle_time_limit = 1

最低限の設定ファイルは次のようになります。

[record]
idle_time_limit = 2

Configディレクトリの場所は、 $ASCIINEMA_CONFIG_HOME環境変数を設定することによって変更できます。

Linuxで$XDG_CONFIG_HOMEが設定されている場合、asciinemaは$HOME/.config/asciinemaではなく$XDG_CONFIG_HOME/asciinema使用します。

1.1以前のasciinemaは$HOME/.asciinema使用してい$HOME/.asciinema もしあなたがそれを持っていれば、 mv $HOME/.asciinema $HOME/.config/asciinemaです。

貢献する

このプロジェクトに貢献したい場合は、 貢献ページをチェックしてください。

著者

Marcin Kulikと偉大なオープンソースの貢献者による情熱をもって開発された

ライセンス

著作権©2011-2017 Marcin Kulik。

すべてのコードは、GPL v3以降でライセンスされています。 詳細については、LICENSEファイルを参照してください。







-asciinema
-, , ,

執筆者: