LoginSignup
3
4

More than 5 years have passed since last update.

Check! コマンドを動画で記録・公開できる asciinema

Last updated at Posted at 2015-01-11

こんばんは、 cloudpack@dz_ こと大平かづみです。

Prologue - はじめに

面白いサービスを見つけたので、実用できるか試してみました!

aciinema

acsiinema とは?

asciinema は、 shellコマンドを動画で記録して、公開できるシンプルなサービスです。
埋め込み用のコードも提供してくれるので、技術ブログなどで手順やデモを公開するのに重宝しそうです。

留意点

ただし、以下の点については扱いに注意が必要かと思いますので、自己責任でお願いします。

  • aciinema は、プロンプトのユーザ名やホスト名の部分も記録します。そのため、表示が公開されてはまずい方はご注意ください。(ユーザ名、ホスト名変更については軽く後述します。)
  • アカウントがなくても使えますが、認証が紐づいていないものはやはり 消すことができない ようで… (苦笑) アカウント作成して認証してから使うことをお勧めします。

やること

  1. asciinema のアカウントを作る
  2. asciinema をインストール
  3. asciinema の初期設定
    1. プロンプトの表示変更
    2. 認証
  4. asciinema の使い方

1. asciinema のアカウントを作る

  1. http://asciinema.org/ の Login から メールアドレス を入力して、アカウント作成を始めます。
    20150104_asciinema_001.png
    20150104_asciinema_002.png

  2. 以下の画面が表示され、Welcomeメールが届いているので、メール内のログインURLをクリックします。
    20150104_asciinema_003.png
    20150104_asciinema_004.png

  3. ユーザ名を入力して登録は完了です。
    20150104_asciinema_005.png
    20150104_asciinema_006.png

2. asciinema のインストール

20150104_asciinema_008.png

一番簡単なインストール方法は以下の shellコマンドを実行する方法です。
curl -sL https://asciinema.org/install | sh

私は、簡単なこの方法でイントールしてみました。

$ curl -sL https://asciinema.org/install | sh
Downloading asciinema v0.9.9 for linux-amd64...
######################################################################## 100.0%
Warning: you may be asked for administrator password to save the file in /usr/local/bin directory
Installing to /usr/local/bin/asciinema...
Success.

Start recording your terminal by running: asciinema rec

ほかのインストール方法としては、 homebrew や ディストロパッケージ (Ubuntu, Fedora Arch Linux, Gentoo) も利用可能です。

3. ascinema の初期設定

3-1. プロンプトの表示変更

Amazon Linux を使ってるとありがちですが、アカウント名を ec2-user のまま使っていたり… (私です(笑) デフォルトのユーザのままだと何かと心配ですし、これを機にユーザ名とプロンプトの表示を変更しました。

ユーザー名を変更する

この際なので、ssh のログインユーザーを変更しました。
Amazon Linux なので以下の公式ドキュメントを参考にしつつ、新しいユーザに sudoes の権限を与えて常用できるようにしました。

sudoes の権限は、 visudo というコマンドを使って設定ファイルを変更するそうです。私はここを参考にしました。

プロンプトのマシン名の表示のみ変更する

今回は見た目だけ変更できればいいので、 以下を参考に ~/.bashrc に設定を記述しました。

  • プロンプトのマシン名を変更(表示のみ)
    • 上記ドキュメントでは /etc/bashrc を変更していますが、 ~/.bashrc に記載しても、asciinema の記録の表示を変更できました。
    • ちなみに、 ~/.bash_profile では、記録の時に戻ってしまいました。

こんな感じです。(マシン名を webserver に変更する例)

$ sudo sh -c 'echo "export NICKNAME=webserver" > /etc/profile.d/prompt.sh'
$ vi ~/.bashrc
~/bashrc
...

# 以下を追加
if [ "$PS1" ]; then
        PS1="[\u@$NICKNAME \W]\\$ "
fi

3-2. 認証

プロンプトの表示が整ったら、 asciinema auth コマンドを実行して認証しましょう。
以下のように認証用のURL (https://asciinema.org/connect/... ) が表示されるので、ブラウザからアクセスし、認証を完了させます。

$ asciinema auth
Open the following URL in your browser to register your API token and assign any recorded asciicasts to your profile:
https://asciinema.org/connect/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

認証が完了すると以下のように表示されます。
20150104_asciinema_007.png

3. asciinema の使い方

サブコマンドを表示させてみると、 auth 以外にできることは 1つ!

  • rec 記録
  • auth アカウント認証
$ asciinema --help
usage: asciinema [-h] [-v] <command> [command-options]

Record and share your terminal sessions, the right way.

Commands:
   rec            Record terminal session
   auth           Assign local API token to asciinema.org account

Options:
   -h, --help     Display help message
   -v, --version  Display version information

   Run "asciinema <command> -h" to see the options available for the given command.

コマンドを記録してみよう

それでは、asciinema recを実行して、 コマンドを記録してみましょう!

# 記録開始
$ asciinema rec

....

# Cntrl + D を入力すると、exit実行
$ exit
~ Asciicast recording finished.
~ Press <Enter> to upload, <Ctrl-C> to cancel.

# ここで <Enter> を入力

https://asciinema.org/a/xxxxx

以下は実際に asciinema で録画したものです。
https://asciinema.org/a/15352

Epilogue - おわりに

今回はたまたま見つけたまだあまり話題になっていない(?) asciinema を取り上げてみました。ちょうどコマンドを記録できるサービスあっていいのにな~と思っていた矢先だったので、びっくりしました。

世の中にはまだ未発掘のサービスたちがたくさん待ってると思います、わくわくしますね!


近況

cloudpack技術ブログでも、AWS Lambda 関連など記事を書いています。ご興味あれば読んでいただけると嬉しいです!

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4