ターミナル録画サービスAsciinemaを使ってみてプロンプトも変更した

簡単にターミナルでの操作を録画してアップロード、シェア出来るサービス、Asciinema、を使ってみた。

https://asciinema.org/

インストール

様々用意されている。
https://asciinema.org/docs/installation

今回はHomebrewで入れてみた。

1
$ brew install asciinema

バージョン確認。

1
2
$ asciinema --version
asciinema 1.1.1

ユーザー登録

ユーザー登録用のURLを表示させる

1
2
3
$ asciinema auth
Open the following URL in a browser to register your API token and assign any recorded asciicasts to your profile:
https://asciinema.org/connect/1b327ae7-6fdd-4784-81a0-xxxxxxxx

フォームからメールアドレスを入力して送信。

メールに登録用フォームのURLが送信されるので、15分以内にリンクをクリックします。
クリック後、任意のユーザー名を入力し、クリック。
(ここで一度何故かエラーのようなページに飛ばされたが、無事登録ができていた。)

録画開始

以下のコマンドで録画が開始される。

1
2
3
4
5
6
7
$ asciinema rec
~ Current terminal size is 150x50.
~ It may be too big to be properly replayed on smaller screens.
~ You can now resize it. Press <Enter> to start recording.

~ Asciicast recording started.
~ Hit Ctrl-D or type "exit" to finish.

書いてある通り、Ctrl-Dで録画終了。
そのままアップロードするかどうかを聞かれる。
アップロードを選択すると、完了後にURLが表示される。

1
2
3
4
~ Asciicast recording finished.
~ Press <Enter> to upload, <Ctrl-C> to cancel.

https://asciinema.org/a/2l7dg8ov3eftv7v9xxxxxxx

アップロードされたURLにアクセスすると、操作したものがそのまま録画されていることがわかる。
注意としては、録画が始まってからは操作していない時間も含めてそのまま録画されるため、考えたり調べたりしてしまうと動画上は何もしてない時間になってしまう。
予めメモっておくなどが必要そう。

紐付け

アップロードした動画を確認してみると、先程登録したユーザー名ではなく、ターミナルに表示されているコンピューター名のユーザーでアップロードされたことになっている。
登録したユーザーと紐付いてない状態。
このままでは動画を削除したり編集したりが出来ないため、紐付ける。

紐付けは簡単で、ターミナルで先程と同じく、$ asciinema authとコマンドするだけ。
同じようにURLが表示されるのでそのURLにアクセスすると、すでにログインしている状態なので、アップした動画がさきほど登録したユーザーの動画として認識される。

これで動画を編集出来るようになった。

ちなみにアップロードしたままだと動画はプライベートの設定になっている。
プライベート、といってもURLを知っていれば誰でも見られる状態。
これをpublicにすれば、公式のサイトから最近アップされたもの、として表示されたりするようになるみたい。

ターミナルの名前表記(プロンプト)

ターミナルの内容がそのまま録画されるため、$の左側もそのまま表示されます。
(この部分を、プロンプト、というよう)
自分の設定ではここに本名が表示されてしまっているのでこのままではちょっとイヤ。
(usernameの部分に名前が出てる)

1
username@username ~/Desktop $

(デフォルトでは、hostname:Desktopになっているそう)

これをカスタマイズする。

ターミナルはzshを入れているので、出力内容は、PROMPTで設定されているよう。
出力してみると以下のような内容。

1
2
$ echo $PROMPT
%F{135}%n%f@%F{166}%m%f %F{118}%~%f $git_info[prompt]$

%F{135}といのは色の指定。%F%fで囲まれた範囲に色をつける。
%nはユーザー名。
%mはコンピューターのホスト名。
%~は、カレントディレクトリ。
$git_info[prompt]は、現在のGitリポジトリ表記。
(gitリポジトリ表記は色々バリエーションがある?)

この辺は凝りだすと沼っぽいので、とりあえず名前だけいらないと思ったので、カレントディレクトリとGitのリポジトリ名だけでにしておいた。

1
PROMPT='%F{8}%~%f $git_info[prompt] $ '

これをデフォルトの設定にするために、~/.zshrcに追記しておく。
これでユーザー名などが表記されなくなった。

Rubyのバージョン表記

いつのまにやらrubyのバージョンが右側に表示されるようになっている。
これはこれで便利なんだろうけれど、残念ながらruby使いではないので、これを非表示にしてみる。

右側に表示させるには、RPROMPTという環境変数を使うよう。
結局どこでこの設定をしているかがわからなかったので、同じく、~/.zshrcに設定し、上書きして対処した。

1
RPROMPT=

サンプル

最後に、Asciinemaのバージョンを表記しただけの内容を録画してアップロードしてみたものを埋め込んでおく。

asciicast

参考

プロンプト関連

   このエントリーをはてなブックマークに追加