Dockerのアイコンをメニューバーから隠す方法と、終了してはいけない理由
ログインした直後からメニューバーにクジラのアイコンが並び、コンテナを1つも動かしていない日でもそこに居続ける。VPNのクライアント、クリップボードの履歴、バックアップの常駐、画面収録の表示が横に並べば、目的のアイコンを探すのに毎回視線が往復することになる。手っ取り早いのはDockerを終了することだが、それは開発環境そのものを止める操作でもある。この記事では、エンジンを動かしたままアイコンだけを視界から外す方法と、そもそもそのアイコンに一等地を渡し続けるかどうかの判断材料を整理する。
メニューバーが埋まるのは、常駐アプリが増え続けるから
メニューバーの右側は、アプリを入れるたびに1枠ずつ埋まっていく領域である。減る仕組みがないため、開発に使う道具が増えるほど自然に混雑する。しかも並び順は入れた順や起動順に左右されるので、意識して並べ替えない限り、よく押すものと年に数回しか押さないものが同じ密度で混ざったままになる。
物理的な上限もある。ノッチのあるMacBook Proは14インチと16インチ、ノッチのあるMacBook Airにも同じ構造があり、メニューバーはカメラ部分で左右に分断されている。アイコンは右端から内側に向かって詰まっていき、ノッチに到達したところで描画そのものが止まる。整理されて隠れるのではなく、単に出てこなくなる。開いているアプリのメニューが左側を広く使う場面では、13インチクラスの画面だと想像より早くこの状態になる。
つまり、混雑は好みの問題ではなく作業の問題になりうる。バッテリーの残量や録音中の表示のような、見えていないと困るものが押し出されている可能性があるからだ。整理の目的は見た目を整えることではなく、見えている枠を本当に必要なものに割り当て直すことにある。
Dockerのアイコンが担っている役割を先に把握する
macOS上でコンテナは直接動かない。Docker DesktopはLinuxの仮想マシンを裏で走らせており、メニューバーのアイコンはその仮想マシンに触れるための入口になっている。このアイコンは複数の仕事を同時に持っている。
- エンジンの状態表示。起動中はアニメーションし、動き出すと落ち着く
- ダッシュボードを開く入口。コンテナ、イメージ、ボリュームの一覧はここから見る
- 設定画面を開く入口。割り当てるCPUやメモリ、ファイル共有の範囲を変える場所
- 終了の操作。インターフェースからエンジンを止める正規の手段
役割が束ねられているぶん、単純に消しにくい。ステータス項目が唯一の画面になっているアプリでは、アイコンを消すことがアプリを操作不能にすることと同義になる。Docker Desktopはダッシュボードという独立したウィンドウを持つのでそこまで極端ではないが、それでもアイコンを失えば、アプリケーションフォルダやSpotlightから起動し直す以外に入口がなくなる。
一方で、ターミナル中心で作業している人にとって、このアイコンを見る機会はほとんどない。動いているコンテナはdocker psで確認でき、起動も停止もコマンドで済む。その使い方をしている限り、クジラは誰も読まないランプでしかない。隠す候補としては筆頭で、終了する候補としては最下位に位置する。
終了は「隠す」ではない。コンテナごと止まる
クジラのメニューから終了を選ぶと、アイコンは即座に消える。同時にエンジンも止まる。動いていたコンテナは停止し、localhostのポートに繋いでいたものは応答しなくなる。その後にターミナルでdockerコマンドを打つと、デーモンに接続できないという趣旨のエラーが返る。接続先が存在しないからである。
ここがこの話の分かれ目になる。アイコンを隠すのは表示の変更で、アプリを終了するのはサービスの変更である。最初の1秒は同じ結果に見えるが、その後の挙動は完全に別物になる。メニューバーを片付けたいという動機で終了を選ぶと、片付いた代わりに開発環境が落ちる。
あわせて確認したいのがログイン時の自動起動の設定である。Docker Desktopはサインイン時に自動で立ち上げる設定を持っており、毎日使う人には便利だが、月に数回しか使わない人には常時の負担になる。使用頻度が低いなら、自動起動を切るのが最も素直な解決になる。使う日だけ手で起動すれば、アイコンも仮想マシンもその日以外は存在しない。メニューバーの幅だけでなくメモリも戻ってくるので、どんな整理の道具でも到達できない範囲まで効く。
逆に、ほぼ毎日使っているなら、エンジンには手を触れず表示の問題として扱うほうがよい。
macOS標準の機能でできる範囲と、その限界
追加のソフトを入れる前に、macOSが最初から持っている操作を確認しておきたい。押さえるべき点は2つある。
1つはCommandキーを押しながらのドラッグである。Commandを押したままメニューバーの項目を左右にドラッグすると位置を入れ替えられる。これはAppleの項目にも他社製のステータス項目にも効く。項目をメニューバーの外へドラッグして取り除く操作もあるが、これが確実に働くのはコントロールセンターが管理しているシステム側の項目に限られる。
もう1つはシステム設定のコントロールセンターである。Wi-Fi、Bluetooth、サウンド、バッテリー、集中モードなどは、メニューバーに表示するかどうかを項目ごとに選べる。
メニューバーに表示される項目は、Commandキーを押したまま左右にドラッグして並べ替えられる。コントロールセンターに含まれる項目については、システム設定からメニューバーへの表示と非表示を切り替えられる。 出典: support.apple.com
この2つで届く範囲は明確である。並べ替えは全部の項目に効き、非表示はAppleの項目にだけ効く。DockerやDropboxやSlackのような他社製のアイコンはコントロールセンターに登録されていないため、システム設定の一覧にそもそも現れない。そして標準の機能には「隠しておいて必要なときだけ出す」という考え方自体が存在しない。表示するか、しないか、の2択である。
アプリ側の設定を一巡してから道具を足す
何かを導入する前にやる価値があるのは、いまメニューバーの枠を持っている全アプリの設定画面を開いて、アイコンの表示に関する項目があるかを確かめることである。呼び名は統一されていない。メニューバーアイコン、ステータス項目、詳細タブの奥、と場所も名前もアプリごとに違う。
結果は3つに分かれる。頼めば隠してくれて動作は変わらないもの。メニューバーかDockかを択一で選ばせるもの。何も用意していないもの。3つ目が多いのは、ステータス項目がそのアプリの唯一の画面だったり、主要な状態表示だったりするためで、隠すと操作できなくなるからである。
この確認は一度やれば済み、その後はずっと効く。実際に2つか3つは設定だけで消えることが多く、残りの作業量が変わる。アプリ自身が無料で隠してくれるアイコンのために、別の道具を入れる理由はない。
同じタイミングで、そもそも起動しているものを見直しておきたい。メニューバーの混雑は、ログイン項目が長くなっていることの表れであることが多い。数か月前に一度だけ使うつもりで入れたソフトが、いまも毎回立ち上がっている。システム設定にはログイン項目とバックグラウンド機能拡張の一覧があり、不要なものはそこで止められる。起動しないアプリは枠を取らない。隠すより確実である。
何を隠し、何を残すかを決める
隠すべきでないものを隠すと、混雑しているより悪い状態になる。判断は次の3つの問いで足りる。
- 押さずに見えている必要があるか。バッテリー残量、VPNの接続状態、録画や録音の表示、ハードウェアの警告はここに入る。気づくのが遅れると実害があるので、見える側に残す
- 1日に何度も押すか。クリップボードの履歴や音声出力の切り替えのように、情報を持たなくても操作の入口として頻繁に押すものは、その頻度だけで一等地に値する
- 通知で代替できるか。同期やバックアップの常駐はほとんどの時間「問題なし」を表示しているだけで、異常時には通知が出る。待機中の姿を見続ける意味は薄い
この3つで仕分けると、見える側に残るのは大抵5個から7個ほどになる。そこまで絞ると、目的のアイコンを探す動作が視線の移動だけで済むようになり、押し間違いも減る。逆に、どれも残す理由がありそうに見えて絞れない場合は、隠す側に入れて2週間ほど使ってみるのが早い。取り出す操作をしたのが何回だったかで、その項目が一等地に値するかどうかは自然に分かる。判断に迷った項目を先に基準として決め切る必要はない。
Dockerのアイコンは、ターミナル中心の使い方なら3つ目に、ダッシュボードを日常的に開く使い方なら2つ目に入る。エンジンの状態はコマンドで取れるし、意図せず止まったコンテナはdocker psの出力に現れる。クジラの形を見て気づく種類の情報ではない。隠しても困りにくく、終了すると困る、という位置づけになる。
整理の道具を選ぶときに見ておく情報
メニューバー管理アプリは、バーを見える側と隠す側に分け、境目を挟んでアイコンを移動させることで表示を切り替える。隠した側のアイコンもアプリ自体は動き続けており、描画されないだけである。
各製品の違いは宣伝文句ほど大きくなく、確認すべき点は絞れる。隠したアイコンを、メニューバーを畳んだまま押してその場でメニューを開けるかどうかは、日常の手数に直結する。ここが対応していないと、隠した項目を押すたびにバーを開く操作が1つ増える。ほかに、キーボードだけで隠した側に届くか、ノッチのある画面で展開先の幅が足りるか、アクセシビリティや画面収録の権限を求めるか、料金は買い切りか継続課金か、といった点が判断材料になる。
こうした機能の一覧はできることにまとめられており、同じ観点で他の選択肢と並べた表はほかの道具との違いにある。価格の条件は料金に明記されている。導入後の挙動、たとえば再起動したあと隠した並びが保たれるかといった疑問はよくある質問に集まっており、実際に手元で確かめたい場合はダウンロードから入手できる。
どの製品を選ぶ場合でも共通する注意が1つある。この種の道具は1つだけ入れること。2つが同時に動くと同じステータス項目を奪い合い、アイコンが点滅したり消えたりする。並び順を決めたら基本は動かさず、数か月に一度、ログイン項目の見直しと同じタイミングで見える側の中身を点検すれば、混雑は元に戻りにくくなる。
よくある質問
アイコンを隠すとコンテナは止まりますか?
止まりません。アイコンを隠すのは表示だけの変更で、Docker Desktopのプロセスと裏側の仮想マシンは動き続けます。コンテナも通信も通常どおりです。止まるのはクジラのメニューから終了を選んだときで、この操作はアイコンと一緒にエンジンも落とします。
Commandキーを押しながら外へドラッグすれば消せますか?
並べ替えはできますが、外へドラッグして取り除く操作が確実に働くのは、Bluetoothやサウンドのようにコントロールセンターが管理しているシステム側の項目に限られます。Dockerを含む他社製のステータス項目は、位置を動かせても外へ捨てることは基本的にできません。
MacBook Proでアイコンが何個か消えたのはなぜですか?
メニューバーの項目は右端から内側へ詰まっていき、ノッチのある機種ではカメラ部分に到達した時点で描画が止まります。アプリが落ちたわけでも消えたわけでもありません。表示中の項目を減らすか、幅の広い外部ディスプレイに繋ぐと戻ります。
標準機能だけで足りますか、それとも道具が必要ですか?
並べ替えは標準機能で全項目に効き、Wi-Fiやバッテリーなどの表示切り替えもシステム設定から行えます。ただし他社製アプリのアイコンを隠す仕組みと、隠した項目を必要なときだけ出す仕組みは標準にありません。混雑の原因がDockerやDropboxなら、その部分だけ別の道具が要ります。