著者は、 Electronic Frontier Foundation を選択して、 Write forDOnationsプログラムの一環として寄付を受け取りました。

序章

Terminalizer は、ターミナルセッションをリアルタイムで記録し、後日再生できるターミナルレコーダーアプリケーションです。 デスクトップスクリーンレコーダーと同じように機能しますが、代わりに端末で実行されます。

ターミナルセッションを記録すると、特定のアクティビティを再度確認したり、特にトリッキーなエラーをデバッグしたりする場合に役立ちます。 Terminalizerで作成された録音は、アニメーションGIFとしてエクスポートすることもできます。これは、オンラインで共有したり、ソフトウェアのマーケティング資料に追加したりするのに最適です。

このチュートリアルでは、Terminizerをインストールし、それを使用してターミナルセッションを記録および再生し、記録をカスタマイズしてから、それらをエクスポートしてオンラインで共有します。

前提条件

このチュートリアルを完了するには、次のものが必要です。

  • Ubuntu 18.04を使用した初期サーバーセットアップに従ってセットアップされたUbuntu18.04サーバー(sudo非rootユーザーを含む)。

  • Node.jsとnpmは、 Ubuntu18.04にNode.jsをインストールする方法のUbuntu用のDistro-Stableバージョンのインストールセクションに従ってインストールできます。

録音をオンラインで共有したい場合は、次のものも必要です。

これらの準備ができたら、root以外のユーザーとしてサーバーにログインして開始します。

ステップ1—Terminizerのインストール

このステップでは、Terminizerをダウンロードしてシステムにインストールします。 TerminalizerはNode.jsを使用して記述されており、 npm パッケージマネージャー。

Terminalizerをシステムにグローバルにインストールするには、次のコマンドを実行します。

  1. sudo npm install --global --allow-root --unsafe-perm=true terminalizer

Terminalizerは、 Electron アプリケーションフレームワークを使用して、記録された端末セッションをGIF形式にエクスポートします。 The --unsafe-perms=true Electronをシステムにグローバルにインストールするには、コマンド引数が必要です。

Terminalizerをインストールすると、次のような出力が表示されます。

Output
. . . /usr/local/lib └── terminalizer@0.7.1

次に、以下を実行して、Terminizerのインストールを確認します。

  1. terminalizer --version

これにより、次のようなものが表示されます。

Output
0.7.1

最後に、Terminizerの高度なカスタマイズに使用できるデフォルトのTerminalizer構成ファイルを生成します(ステップ4 で詳しく説明します)。

  1. terminalizer init

これにより、次のような出力が生成されます。

Output
The global config directory is created at /home/user/.terminalizer

Terminalizerをインストールしたので、最初の端末記録を作成できます。

ステップ2—ターミナルセッションの記録と再生

このステップでは、ターミナルセッションを記録および再生します。

まず、選択した名前を使用して新しいターミナルライザーの録音を設定します。

  1. terminalizer record your-recording

これにより、記録が開始されたことを示す次の出力が表示されます。

Output
The recording session has started Press Ctrl+D to exit and save the recording

これで、ターミナル内でやりたいことを何でも実行できます。 各キーの押下とコマンドは、Terminizerによってリアルタイムで記録されます。

例えば:

  1. pwd
  2. date
  3. whoami
  4. echo "Hello, world!"

録音を停止したい場合は、 CTRL+D. Terminalizerは、記録をYAML形式で指定されたファイルに保存します。たとえば、 your-recording.yml.

Output
Successfully Recorded The recording data is saved into the file: /home/user/your-recording.yml

Terminalizerから、録音をオンラインで共有するように求められる場合があります。 押すだけ CTRL+C ターミナルレコーディングを最初にローカルで再生できるので、今のところこれをキャンセルします。

次に、次のコマンドを使用して、記録したターミナルセッションを再生します。

  1. terminalizer play your-recording

これにより、記録されたセッションが端末でリアルタイムに再生されます。

Output
user@droplet:~$ pwd /home/user user@droplet:~$ date Sun Mar 8 14:55:36 UTC 2020 user@droplet:~$ whoami user user@droplet:~$ echo "Hello, world!" Hello, world! user@droplet:~$ logout

を使用して、録音の再生速度を調整することもできます。 --speed-factor オプション。

たとえば、次のようにすると、録音が2倍遅く(半分の速度)再生されます。

  1. terminalizer play your-recording --speed-factor 2

または、録音を2倍の速度(2倍の速度)で再生することもできます。

  1. terminalizer play your-recording --speed-factor 0.5

ターミナルセッションを記録して再生しました。 次に、記録されたターミナルセッションをオンラインで共有できます。

ステップ3—記録されたターミナルセッションの共有

このステップでは、記録したターミナルセッションをTerminalizerExploreページでオンラインで共有します。

共有する記録されたセッションを選択することから始めます。

  1. terminalizer share your-recording

次に、タイトルや説明など、録音に関する基本的なメタデータを入力するように求められます。

Output
Please enter some details about your recording ? Title Title of Your Recording ? Description Description of Your Recording ? Tags such as git,bash,game Comma-separated Tags for Your Recording

警告: Terminalizerの記録はデフォルトで公開されているため、共有したくない個人を特定できる詳細や機密情報が端末の記録に存在しないことを確認してください。

Terminalizerを使用して記録されたセッションを共有するのが初めての場合は、Terminizerアカウントをリンクする必要があります。 これが必要な場合、Terminizerは確認リンクを表示します。

Output
Open the following link in your browser and login into your account https://terminalizer.com/token?token=your-token When you do it, press any key to continue

警告: Terminalizerトークンを非公開にしてください。これにより、Terminizerトークンを所有しているすべての人がTerminizerアカウントにアクセスできるようになります。

Webブラウザーでリンクにアクセスし、Terminizerアカウントにサインインしたら、任意のキーを押して続行します。

Terminalizerは録音をアップロードし、それを表示するためのリンクを提供します。

Output
Successfully Uploaded The recording is available on the link: https://terminalizer.com/view/your-recording-id

デスクトップWebブラウザーでリンクにアクセスすると、共有記録を表示できます。

記録されたターミナルセッションをTerminizerWebサイトで共有し、Webブラウザで表示しました。

ステップ4—高度なターミナルライザー構成の設定

Terminalizerにある程度慣れてきたので、表示色やスタイルを調整する機能など、より高度なカスタマイズオプションのいくつかを確認し始めることができます。

各レコーディングは、次の場所にあるグローバルTerminalizer構成ファイルからデフォルト構成を継承します。 ~/.terminalizer/config.yml. これは、レコーディングファイルを編集することで、個々のレコーディングの設定を直接編集できることを意味します(例: your-recording.yml). または、グローバル構成を編集することもできます。これは、すべての新しい録音に影響を与えます。

この例では、グローバル構成ファイルを編集しますが、同じガイダンスが個々の記録構成ファイルにも適用されます。

まず、テキストエディタでグローバルTerminalizer構成ファイルを開きます。 nano:

  1. nano ~/.terminalizer/config.yml

ファイル内で使用可能な各構成オプションは、それらが何をするかを説明するためにコメント化されています。

好みに合わせて調整できる一般的な構成オプションがいくつかあります。

  • cols:録音に使用する端子列の数を明示的に設定します。
  • rows:録音に使用する端末行数を明示的に設定します。
  • frameDelay:再生中の各キーストローク間の遅延をオーバーライドします。
  • maxIdleTime:再生中のキーストローク間の最大時間を指定します。
  • cursorStyle:デフォルトの端末カーソルスタイルを指定します block, bar、 と underline.
  • fontFamily:優先する再生フォントのリストを優先順に指定します。
  • theme:再生の配色を調整します。たとえば、白地に黒の端末を作成するなどです。

例として、次のオプションを構成することにより、白地に黒の端末表示を実現できます。

config.yml
. . .
theme:
  background: "white"
  foreground: "black"
. . .

これにより、次のような結果が得られます。

カーソルのスタイルを調整して、記録を理解しやすくすることができます。たとえば、デフォルトのブロックスタイルのカーソルを下線付きのカーソルと交換します。

config.yml
. . .
cursorStyle: underline
. . .

これにより、次のような結果が得られます。

必要な変更を加えたら、ファイルを保存してターミナルに戻ります。

グローバルTerminalizer構成を編集した場合、これらの設定は今後のすべての新しい録音に適用されます。 特定のレコーディング構成を編集している場合、Terminizerはその特定のレコーディングに変更をすぐに適用します。

カスタム再生スタイルは、共有レコーディングセッションにのみ適用されることに注意してください。 それらを端末で直接再生すると、常にデフォルトの端末スタイルと配色が使用されます。

この最後のステップでは、Terminizerの高度な構成オプションのいくつかを確認しました。

結論

この記事では、Terminalizerを使用してターミナルセッションを記録および共有しました。 これで、マーケティング資料で使用するソフトウェアの記録されたデモを作成したり、コマンドラインのトリックを友人と共有したりするために必要な知識が得られました。

Terminalizerの記録をGIF形式でレンダリングおよびエクスポートする場合は、グラフィカルユーザーインターフェイス/デスクトップを備えたマシンにTerminizerをインストールし、組み込みのレンダリング機能を使用できます。

また、Terminizer Webサイトを閲覧して、他のユーザーが共有している記録されたターミナルセッションを確認することもできます。