Ubuntu日和

【第12回】ショートカットとByobuを駆使して、UbuntuのCLI操作を効率化しよう

 連載の【第10回】ではCLIとは何か、そのメリット、基本的なコマンドの使い方を解説した。これまでGUIしか使ってこなかった方や、CLIは古くさいと思っているような方にも、CLIを積極的に使うメリットがあることを理解してもらえのではないかと思う。そして10回の内容を参考にすれば、万が一のトラブル時など、必要に迫られた時にコマンドを実行するくらいは出来るようになったのではないだろうか。

 だが基本的な理屈を知っただけでは、「じゃあ実際に日常的に使ってみよう」とはなかなかならないと思う。そこで今回は、CLIをもう少し便利に使うためのテクニックを紹介しよう。もちろん今回の内容を含めても、CLIを実用レベルでバリバリと運用するにはまだまだ不足していると言わざるをえない。とはいえこれは、今後(たぶん)予定されているUbuntu Serverの解説回に向けた、外堀を埋める回だと思ってご理解いただきたい。

ショートカットをマスターしてCLIを効率よく使おう

 GUIのアプリは一定の「お約束」に則って設計されている。そのためある程度経験を積んだユーザーであれば、初めて使うアプリであっても、なんとなくそれなりに操作できるだろう。この直感的な操作性こそが、GUI最大のメリットだと言っていい。しかし直感的な反面、いちいちメニューやアイコンまでカーソルを動かしてクリックするのは、効率面から言えばそれほど優れているは言えない。効率面を突き付めれば、マウス操作はキーボードには絶対勝てないのだ。そのためGUIを使っていても、Ctrl+C/Vでのコピー&ペーストのような「キーボードショートカット」を、誰もが一般的に利用していると思う。

 このように効率よく作業を行なうためには、すべての操作をキーボードだけで行なえるのが理想的だ。はじめの一歩として、まずはシェルの基本的なキーボード操作を覚えてしまおう。Ubuntuの標準シェルであるBashの基本的なキーバインドをまとめたのが以下の表だ。

キーバインド動作
← または Ctrl+B左にカーソルを移動する
→ または Ctrl+F右にカーソルを移動する
Home または Ctrl+A行頭にカーソルを移動する
End または Ctrl+E行末にカーソルを移動する
Delete または Ctrl+Dカーソル位置にある文字を削除する
Backspace または Ctrl+Hカーソルの前にある文字を削除する
Ctrl+Kカーソル位置から行末までの文字を切り取る
Ctrl+Wカーソル位置の直前にある1単語を切り取る
Ctrl+Y切り取った文字をペーストする
↑ または Ctrl+P1つ古い履歴を呼び出す
↓ または Ctrl+N1つ新しい履歴を呼び出す
Ctrl+R履歴を後方検索する
Ctrl+S履歴を前方検索する
Enter または Ctrl+Mコマンドを実行する
Ctrl+Oコマンドを実行した後、1つ新しい履歴を呼び出す
Tab または Ctrl+Iコマンド補完を行なう(第10回参照)
Ctrl+L画面を消去する

 上記の表を見ると分かる通り、ある操作に対して、一般的なキーとより効率のよいキーの複数のキーが割り当てられているものもある。例えばCLIでは、頻繁にカーソルを動かす必要がある。カーソルは当然カーソルキーで動かせるのだが、カーソルキーのような地の果てにあるキーを使っていると、右手がホームポジションに戻ってくる前に日が暮れてしまうだろう。そのためカーソルキーを使うよりも、ホームポジションのまま使えるCtrl+F/Bでの操作に慣れることをお勧めする。

 またカーソルを行頭に移動したい場合は、Ctrl+Bを連打してもよいのだが、それよりもカーソルを一発で行頭へ移動できるHomeキーを使う方が効率がよい。そしてやはりキーボードの端にあるHomeキーを使うより、Ctrl+Aを使うのがよりスマートなのは言うまでもない。

 表を見て気づいた方もいると思うが、Bashのデフォルトのキーバインドは、Unixの世界で長い歴史と圧倒的な人気を誇る(個人の感想です)、Emacsエディタがベースとなっている。Emacsのキーバインドは、Windows系アプリに慣れた人からすると、非常に奇異に見えるかもしれない。例えばCtrl+Aは全選択に割り当てられているのが一般的だが、Emacsの世界では前述の通りカーソルの行頭移動だ。

 だがこれらのEmacsキーバインドは、慣れると非常に便利で使いやすい。世界中に愛好者がおり、Emacsそのものは使わないが、キーバインドだけはEmacs風でないと困るという人もいるほどだ。そのためEmacsキーバインドは、UnixライクなOSを中心に、キーボードで操作をするさまざまなソフトで採用されて(あるいは設定が用意されて)いる。例えばGNOMEのキーバインドをEmacs風にすることもできるし、Windows上でEmacsキーバインドを再現するソフトすら存在する。そしてVisual Studio Codeのようなエディタには、大抵Emacsキーバインドを実現する拡張機能が用意されている。このように色々な所で活用できる(されている)キーバインドのため、この機会に慣れておくと、色々と潰しが効いて便利だ。

 ただし一度Emacsキーバインドが身体に染みついてしまうと、ほかのキーバインドでの操作ができなくなるなど、人生に重篤な副作用を起こす可能性もあるため注意して欲しい(ソースは筆者)。例えばWindowsアプリを使っている時に、Ctrl+Sで検索しようとしたらファイルを上書き保存してしまったり、Ctrl+N/Pでカーソルを動かそうとしたら新しいウィンドウや印刷のダイアログが開いてしまい、イーッとなるのはEmacsユーザーあるあるだ。

 ちなみに上記のBashのキーバインドは、Emacsと並んで有名なエディタであるvi風に変更することもできるが、本記事では割愛させてもらう。

コマンド履歴を活用しよう

 第10回では

ただしCLIには 「再利用性が高い」 というメリットがある。一度、ちゃんと動くコマンド列を作り込みさえすれば、将来似たようなことをしたいときにそれをそのまま使えるのだ。

 と述べた。GUIであれば「マウスを動かしてどこそこをクリックして~」と複雑になる一連の操作を、CLIでは文字列という形で取り出せる。この文字列を保存しておけば、コピペするだけで同じ操作を再現できるというわけだ。とはいえこうしたコマンドの断片を、都度どこか別の場所にメモしておくのは使い勝手が悪いだろう。そこで活用して欲しいのが、シェルのコマンド履歴機能だ。

 Bashにはコマンド履歴という機能がある。これはその名の通り、一度実行したコマンドを自動的に記録しておく機能だ。この履歴を呼び出すことで、過去に実行したコマンドを手軽に再利用できる。履歴を活用するメリットは、同じコマンドを何度も入力する必要がなくなるため、作業効率が大幅にアップするという点だ。また人間がキー入力をしないでよいため、コマンドの入力ミスを防げるという副次的な効果もある。一般的に、人の手を介さない省力化は品質向上にも繋がるため、使える機能は活用して、積極的に手を抜いていこう。

 履歴の呼び出し方は簡単で、キーボードの↑キーかCtrl+Pを押すだけだ(もちろん↑キーではなく、Ctrl+Pを使うことを推奨する)。Ctrl+Pを一度押すと、直前に実行したコマンドが入力済みの状態になる。その状態でもう一度Ctrl+Pを押すと、さらに1つ前に実行したコマンドが入力済みの状態となる。こうして順に、過去に実行したコマンドを遡って呼び出すことができるわけだ。なおうっかりキーを押しすぎ、目当てのコマンドを行き過ぎてしまった場合は、↓キーかCtrl+Nキーで戻ることができる。

caption=コマンド履歴の利用例
whoamiコマンド(自分のユーザー名を表示)を実行
$ whoami
mizuno

dateコマンド(現在時刻を表示)を実行
$ date
Tue Sep 27 06:08:53 PM JST 2022

Ctrl+Pを押すと、直前に実行したdateコマンドが入力された状態となる
$ date

その状態でもう一度Ctrl+Pを入力すると、さらに1つ前に実行したwhoamiコマンドが入力された状態となる
$ whoami

 履歴は呼び出した段階では、入力済みの状態となるだけで、実行はされない。実行するには改めてEnterキーを押す必要があるが、その前にコマンドを編集することもできるため、コマンドの一部だけを流用する使い方も可能だ。例えばコマンドとオプションはそのままで、引数だけ書き換えて実行したいといった場合に便利だ。

 UbuntuのBashは、デフォルトの状態で1,000件の履歴を呼び出せるよう設定されている。履歴は非常に便利だが、1,000個前の履歴を呼び出すためには、Ctrl+Pを1,000回押さなければならない。これはとてもではないが、やっていられないだろう。そこで便利なのが履歴の検索だ。Ctrl+Rキーを押すと、プロンプトの表示が「reverse-i-search」に変化する。ここに検索したい文字列を入力しよう。すると記録した履歴の中から、その文字列にマッチするコマンドが検索される。履歴の検索はインクリメンタルサーチで行われるため、一文字でも入力すれば自動的に検索が行われ、また検索文字を長く入力していくほど、候補が絞り込まれていく。

 マッチする候補が複数存在し、一意に特定できない場合もあるだろう。そんな時は入力中の状態でさらにCtrl+Rを押すことで、次の候補を表示できる。目的のコマンドが見つかったら、Enterキーを押してコマンドを実行しよう。もちろんCtrl+Pキーで履歴を呼び出した時と同様に、目的のコマンドを編集してから実行することも可能だ。

履歴検索の利用例
プロンプトが表示されている状態でCtrl+Rを押す
$

検索モードに切り替わる
(reverse-i-search)`':

「da」と入力すると、dateコマンドが履歴から見つかる
(reverse-i-search)`da': date

その状態でもう一度Ctrl+Rを押すと、sudo apt updateが履歴から見つかった
(reverse-i-search)`da': sudo apt update

 Ctrl+RもCtrl+Pと同様に、うっかり押しすぎて目当てのコマンドを通り過ぎてしまうことがある。こうした場合は順方向に検索するCtrl+Sキーを押すことで、1つ前の履歴に戻ってくることができるのだが、実際のところ、デフォルトのUbuntuではこの順方向の検索は動作しない。これは第10回で述べたように、Ctrl+Sが現在の処理の一時停止に使われているのが原因だ。しかしCtrl+Sで処理を一時停止して嬉しいシーンはそれほど多くない。むしろ一切の文字入力を受け付けなくなり、途方に暮れることの方が多いだろう。そこで以下のコマンドを実行し、STOP機能に割り当てられているCtrl+Sのキーバインドを解除してしまおう。これで順方向の検索が動作するようになる。

Ctrl+Sでターミナルが停止するのを防ぐ
$ stty stop undef

 検索は過去に実行したコマンドの、どこか一部分にでもマッチすればよいため、コマンド全体を覚えておく必要はない。「このファイルを引数に実行したよな?」といった、断片的な記憶からでも目的のコマンドを探すことができる。Ctrl+Pを使うのは、直前に実行したコマンドを再実行する場合に留め、普段はCtrl+Rによる検索をメインに使うのがよいだろう。なおfzfのようなあいまい検索ツールを組み込めば、より柔軟な履歴検索を実現することもできる。本記事では解説はしないが、fzfは筆者的に手放せないツールであるため、もし興味があったら調べてみて欲しい。

記録できる履歴の件数を増やすには

 UbuntuのBashが呼び出せる履歴は、デフォルトで直近1,000件と述べた。もう少し厳密に述べると、直近2,000件の履歴が履歴ファイルに記録され、そのうち新しい方から1,000件がシェルの起動時に読み込まれるようになっている。1,000件の履歴というと多いように思えるが、日常的にCLIを使っていると、この程度はあっという間だ。そして問題は、それよりも古い履歴が消えてしまうということだ。

 当然だが履歴は増えれば増えるほど、再利用できるコマンドが増えるため、効率アップに直結する。使い込んだシェルの履歴は老舗のタレと同じ財産と言ってもよく、まさに「それを捨てるなんてとんでもない」行為だ。筆者の手元にも、毎回履歴から呼び出して再利用している、複雑なコマンドが沢山ある。同じコマンドをもう一度組み立てるのは非常に面倒なため、もしもシェルの履歴を失ってしまったら、作業の効率は大幅に落ちてしまうだろう。

 Bashが保存する履歴の件数は、環境変数によって設定されている。環境変数「HISTSIZE」がBashの起動時に読み込まれる履歴の数(デフォルトで1,000)、環境変数「HISTFILESIZE」が履歴ファイルに記録される履歴の数(デフォルトで2,000)だ。これはBashの起動時に読み込まれる設定ファイル「.bashrc」内で設定されている。

.bashrcファイルの18行目付近にある履歴サイズの設定
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

 履歴の件数は、メモリが許す限り大きくしておく方がよい。テキストエディタでこのファイルを開き、該当箇所の数値を書き換えてしまおう。ただし極端に大きくしすぎると、環境によってはBashの動作速度に影響が出る可能性もある。自分の環境と相談しつつ、適当な数値を探ってみて欲しい。なお筆者は両方とも100万に設定している。シェルを再起動すると設定が反映され、1,000件以上の履歴が使えるようになっているはずだ。

 Bashの履歴はホームディレクトリ内の「.bash_history」というファイルに保存されている。履歴を失わないためにも、このファイルのバックアップは定期的に取るようにしよう。また新しいPCにUbuntuをセットアップしたら、まず最初にこのファイルをコピーしておくことをお勧めする。それだけでCLIでの作業効率が格段に上がるはずだ。

CLI環境を劇的に便利にする「ターミナルマルチプレクサ」とは

 CLIを活用していると、用途ごとに複数のシェルを起動し、並行して使いたいことがよくある。Ubuntu標準のターミナルであるGNOME端末には「タブ機能」があり、ウィンドウ内に複数のターミナルを同時に起動し、切り替えて使うことができるようになっている。というか、そもそもGNOME端末はGUIアプリのため、デスクトップ上にターミナルのウィンドウ自体を複数並べることも簡単だ。

 だがサーバーのようにGUIを持たない環境では、複数のターミナルを同時に使うには少々工夫が必要になる。また1画面を越え、画面外へ流れててしまった出力をスクロールバックして確認したり、出力結果を別のアプリへコピー&ペーストすることも、GUIのターミナルエミュレーターであれば簡単だが、純粋なCLI環境では難しい。

 そこで便利なのが、仮想端末を管理する「ターミナルマルチプレクサ」と呼ばれるソフトウェアだ。ターミナルマルチプレクサを使うと、GNOEM端末のタブのように複数のターミナル画面を自由に切り替えたり、その中のターミナルの画面を上下左右に分割したりといった、自由なウィンドウレイアウトが可能になる。また画面外へ流れてしまったバックログを辿ったり、コピペを可能にする機能も備えている。

 ターミナルマルチプレクサの実装としては、「GNU Screen」や「tmux」というソフトウェアが有名だ。これらは非常に高機能で便利ではあるものの、Emacsやviに代表される伝統的なUnixのソフトウェアと同じで、「ユーザーが自分で設定をゼロから記述して、自分好みの環境を育てていく」タイプのソフトウェアでもある。それゆえ使いこなすには熟練が必要で、初心者が便利な機能を使うにはハードルが高いという欠点があった。

 そこでお勧めしたいのが、GNU Screenやtmuxを簡単に扱えるようにしたラッパープログラムである「Byobu」だ。Byobuはもともと「screen-profiles」という名前で提供されていた、GNU Screenの設定セットに端を発している。これはその名の通り、ユーザーにとって使い勝手のよい、GNU Screenのデフォルト設定を提供するものだった。GNU Screenはデフォルトの状態では画面に何も表示されず、そもそも起動しているかどうかすら見た目では判断できないソフトウェアだが、screen-profilesをインストールするだけで、カラフルなステータスラインが表示されるなど、初心者でも使いやすいCLI環境を手に入れることができたのだ。

 このscreen-profilesが改名し、デフォルトのバックエンドにtmuxを採用するなど、さまざまな進化を遂げたのが現在のByobuだ。Byobuを使えば、特別な設定をすることなく、デフォルトの状態で「いい感じ」に設定済みのtmuxを使うことができる。設定用のフロントエンドも同梱されているため、Unixにありがちなテキスト形式の設定ファイルを記述する必要もない。特にサーバーでCLIを使うのであれば、必須と言ってよいソフトウェアだ。

 なおByobuは、Ubuntu開発者のDustin KirklandがUbuntu Server用に開発した、Ubuntu発のソフトウェアでもある。その名前は、折り畳み可能なマルチパネルスクリーンである日本の「屏風」に由来している。

Byobuのインストールと基本的な使い方

 ByobuはAPTでインストールできる。以下のコマンドを実行して、byobuパッケージをインストールしよう。なおUbuntu Serverの場合は、デフォルトでインストール済みとなっている。

byobuパッケージのインストール}
$ sudo apt install -y byobu

 Byobuは同名の「byobu」コマンドで起動する。以下の図は起動した直後のByobuの画面だ。ターミナルの最下部に、カラフルなステータスが表示されているのがわかるだろう。ステータスは左から順に「Ubuntuロゴ」、「Ubuntuのバージョン」、「ウィンドウ一覧」、「再起動の要求」、「アップデート可能なパッケージ数」、「起動時間」、「ロードアベレージ」、「CPUコア数x周波数」、「メモリ容量と使用率」、「ストレージ容量と使用率」、「現在日時」となっている。なおここに表示されるステータスは、F9を押して表示されるByobuの設定画面から「ステータス通知の切り替え」を選択し、用意された項目をオン/オフすることで簡単に設定できる。

はじめてByobuを起動した際の画面
ステータスラインに表示する項目を切り替えられる

 Byobuには「ウィンドウ」という概念がある。これはByobu内で開かれている、独立したターミナルだ。GNOME端末のタブと同じようなものだと考えるとわかりやすいだろう。Byobuは常に1つ以上のウィンドウを持っており、自由に切り替えることができる。デフォルトでは、ウィンドウ一覧に「0:-*」と表示されている。この「0」はウィンドウの番号、「-」はウィンドウの名前(デフォルトでは名なし)、「*」はそのウィンドウにフォーカスが当たっていることを表している。

 F2キーを押してみよう。ウィンドウ一覧の右側に「1:-*」という表示が追加されたはずだ。これは新しく1番の番号を持つウィンドウが作成され、操作対象のウィンドウフォーカスがそちらに切り替わったことを表している(その証拠に、0番のウィンドウのタイトルの右側にあったアスタリスクが消え、ハイフンに変わっているはずだ)。

0番と1番の2つのウィンドウを開いた状態

 F3/F4キーを押すと、操作するウィンドウをいつでも切り替えることができる。例えば0番のウィンドウで時間のかかるコマンドを実行し、その間に1番のウィンドウに切り替えて別のコマンドを実行する、といった使い方も可能だ。サーバーの管理などを行なっていると、システムの状態を表示するtopコマンドや、ログ出力を監視するtailコマンドなどを動かしっぱなしにすることもよくある。Byobuを使えば、「top用のウィンドウ」、「tail用のウィンドウ」などをそれぞれ用意し、切り替えて運用することも簡単に行なえる。

 またCtrl+F2を押すとウィンドウを垂直に、Shift+F2を押すと水平に分割することができる。Shift+F3/F4キーを押すと、アクティブな分割領域を切り替えることができる。最近のディスプレイは非常に解像度が高いため、ウィンドウを切り替えて使うよりも、単一の大きなウィンドウを分割した方が便利かもしれない。なお各分割領域の大きさは、Alt+Shift+カーソルキーで調整することができる。またCtrl+F6キーで、現在アクティブな分割領域を閉じられる。

ウィンドウを分割して複数のコマンドを同時に実行している例

 ウィンドウをたくさん開くと、番号では区別しづらくなってくるだろう。そういう時は用途ごとに、ウィンドウにわかりやすい名前をつけるといい。F8キーを押すと、ステータスラインが「rename-window」というプロンプトに変化する。ここに、そのウィンドウにつけたい名前を入力してEnterを押そう。以後はウィンドウ番号の横(デフォルトで-と表示されていた部分)に、設定したウィンドウ名が表示されるようになる。

ウィンドウに名前をつける
名前をつけることで、複数のウィンドウを区別しやすくなる

 F7キーを押すと、そのウィンドウがコピーモードになる。↑キーか「K」キーでカーソルを上に動かすと、画面外へ流れていってしまった出力をスクロールバックして読むことができる(コピーモードのカーソル操作は定番のEmacsキーバインドではなく、vi風のキーバインドになっているため注意が必要だ)。

 出力をコピーしたい場合は、まずコピーしたい領域の始点にカーソルを動かしてスペースキーを押す。続いてコピーしたい領域の終点にカーソルを動かしてEnterキーを押そう。これで始点と終点の間の領域がコピーされると同時に、コピーモードが終了する。コピーした内容をペーストしたい場合は、F12キーを押した後に「]」キーを押せばよい。

コピーモードでコピーする領域を選択している状態

 このようにByobuの機能は各ファンクションキーに割り当てられているが、ファンクションキーはお世辞にも押しやすいキーとは言えないだろう。そこでByobu(というかバックエンドのtmux)では、Prefixキーとほかの英字キーを組み合わせて使うのが一般的だ。例えばF2キーに割り当てられていたウィンドウの新規作成は、「Prefixキーを押してからCキーを押す」という操作でも行なえる。

 だが残念なことに、デフォルトのPrefixキーはF12に設定されている。先ほどのペースト操作が、「F12を押してから]キー」だった理由がこれだ。これでは本末転倒だ。そこでByobuを本格的に使うのであれば、まずはPrefixキーをもっと押しやすいキーに変更することをお勧めする。

 ByobuではCtrl+Aに「byobu-ctrl-a」というコマンドが割り当てられている。これはCtrl+Aを、シェルのデフォルトであるカーソルの行頭移動として使うか、ByobuのPrefixキーとして使うかの選択を行なうためのコマンドだ。byobuを起動した状態でCtrl+Aを押してみよう。図のような選択肢が表示される。

Byobuを起動して、はじめてCtrl+Aを押すと、この選択画面が表示される

 ここでEmacsモードを選んだ場合は、引き続きF12がPrefixキーとして使われ、Ctrl+Aは行頭移動になる。逆にScreenモードを選んだ場合は、Ctrl+AがPrefixキーになる(ただしF12も引き続き使える)というわけだ。なおどちらを選択したとしても、Ctrl+Aへのbyobu-ctrl-aコマンドの割り当ては解除されるため、再度Ctrl+Aを押しても選択肢は表示されなくなる。

 筆者としては、F12は使いにくいが、Ctrl+AをPrefixキーに取られてしまうのはもっと不便なため、別のキーをPrefixキーとして設定することをお勧めする。まず上記の選択肢としてEmacsモードを選択し、Ctrl+AをByobuから解放しよう。続いてF9を押してByobuの設定画面を表示し、「エスケープシーケンスの変更」を選択してEnterキーを押す。ここで新しいPrefixキーを設定するのだが、筆者のお勧めはCtrl+Zだ。その理由としては、

  • 左手だけで押しやすい
  • シェルにおける本来のCtrl+Zの機能はジョブのサスペンドのため、それほど頻繁には使わない
  • Ctrl+ZをPrefixキーに割り当てた状態でも、Ctrl+Zを2回続けて押せば本来の機能(サスペンド)が動くため問題ない
  • ジョブのサスペンドはうっかり暴発しても嫌なため、むしろ2連打しないと動かないのは安全装置として優秀

などが挙げられる。

PrefixキーをCtrl+Zに変更する

 最初に述べた通り、ターミナルマルチプレクサは非常に高機能なソフトウェアだ。そのすべての機能を使いこなすのは、一朝一夕にはいかないだろう。だがデフォルトのByobuのステータスラインと、マルチウィンドウ、ウィンドウの分割といった基本的な機能だけでも、十分に導入する価値はあると言える。Byobuの基本的なキーバインドを表にまとめてみたので、これを参考に、習うより慣れろで試してみて欲しい。

 なおByobuを導入する最大のメリットに「セッション保護」機能がある。これについては回を改めて紹介する予定だ。

キーバインド機能
F2 または Prefix-C新しいウィンドウを作成する
F3 または Prefix-P前のウィンドウに移動す
F4 または Prefix-N次のウィンドウに移動する
F5プロファイルのリロードとステータスの更新を行なう
F6 または Prefix-Dセッションをデタッチする
F7 または Prefix-[コピーモードに入る
Prefix-]コピーした内容をペーストする
F8 または Prefix-,ウィンドウ名を変更する
F9byobuの設定画面を表示する
F12デフォルトのPrefixキー
Ctrl+F2 または Prefix-%ウィンドウを左右に分割する
Shift+F2ウィンドウを上下に分割する
Shift+F3前の分割領域に移動する
Shift+F4 または Prefix-O次の分割領域に移動する
Alt+Shift+カーソルキー分割領域をリサイズする
Prefix-?キーバインド一覧を表示する

Hollywoodでハッカー気分を味わってみる

 薄暗い部屋にいるハッカーが、さまざまなウィンドウが表示された画面に向かってキーボードを叩くと、画面内には意味不明な文字列が滝のように流れていく。そんな演出を映画やアニメで見たことはないだろうか? Ubuntuにはこうした「ありがちな」ハッカー的画面を再現するプログラムが存在する。その名も「Hollywood」だ。「hollywood」パッケージをインストールしてから、同名の「hollywood」コマンドを実行してみよう。

hollywoodパッケージのインストール
$ sudo apt install -y hollywood
hollywoodコマンドを実行する
$ hollywood

 記事冒頭の動画の通り、Hollywoodコマンドは内部でByobuを起動し、ウィンドウを分割した上でさまざまなコマンドを実行しているだけの、何の意味もないジョークプログラムだ(※)。だが、CLIに不慣れな人を驚かせるにはもってこいのコマンドと言えるだろう。Byobuの入門として、まずはHollywoodコマンドを実行してドヤ顔してみるのも悪くないかもしれない。

※なお古いバージョンでは実行時に「スパイ大作戦」のテーマ曲が流れたのだが、現在は削除されている