こんばんは、 cloudpack の @dz_ こと大平かづみです。
Prologue - はじめに
面白いサービスを見つけたので、実用できるか試してみました!
aciinema
acsiinema とは?
asciinema は、 shellコマンドを動画で記録して、公開できるシンプルなサービスです。
埋め込み用のコードも提供してくれるので、技術ブログなどで手順やデモを公開するのに重宝しそうです。
留意点
ただし、以下の点については扱いに注意が必要かと思いますので、自己責任でお願いします。
- aciinema は、プロンプトのユーザ名やホスト名の部分も記録します。そのため、表示が公開されてはまずい方はご注意ください。(ユーザ名、ホスト名変更については軽く後述します。)
- アカウントがなくても使えますが、認証が紐づいていないものはやはり 消すことができない ようで… (苦笑) アカウント作成して認証してから使うことをお勧めします。
やること
- asciinema のアカウントを作る
- asciinema をインストール
- asciinema の初期設定
- プロンプトの表示変更
- 認証
asciinema の使い方
1. asciinema のアカウントを作る
http://asciinema.org/ の Login から メールアドレス を入力して、アカウント作成を始めます。
2. asciinema のインストール
一番簡単なインストール方法は以下の 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
...
# 以下を追加
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
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 関連など記事を書いています。ご興味あれば読んでいただけると嬉しいです!