chromeプロファイルショートカットをmacで作る方法と、その限界

chrome プロファイルショートカット mac で調べている人は、たいていWindows向けの手順を先に読んでいる。プロファイルのメニューから「デスクトップショートカットを作成」を選ぶ、という説明だ。macOS版のChromeを開いてもその項目は無い。設定のどこかに隠れているわけでもなく、macOS版には最初から用意されていない。使えるのは起動時のオプションで、実務で成立している方法はすべてこの1つのオプションの上に建っている。

macOS版にショートカットの項目が無い理由

Windowsのショートカットは、実体がコマンドラインを持つファイルになっている。だからChromeは「このプロファイルを開く」という引数を書き込んだファイルを自分で生成できる。一方、macOSのDockに並ぶのはアプリケーションバンドルで、コマンドラインを持たない。Chrome側に書き込む先が無いので、同じ機能を用意しようがない。

その結果、macOSで動く方法は3つの形のどれかになる。オプションを付けてChromeを起動するシェルのコマンド。そのコマンドをダブルクリックで走らせる小さなアプリ。そしてランチャー系の道具にコマンドを登録して、キー1つで呼び出す形だ。どれも仕組みとしては壊れやすくない。壊れやすいのは、3つとも同じところに依存しているプロファイルの識別子のほうになる。

なお、起動時にプロファイルを選ぶ画面を出す設定は標準で用意されている。

新しいブラウザ セッションを開いたときにすべての Chrome プロフィールを表示するよう設定を調整できます。 出典: support.google.com

毎回選ぶ画面が出るのは、選択を意識させたい人には向いている。ただし目的が「決まったプロファイルを一発で開く」ことなら、選択画面はむしろ手数が増える。この設定と、これから作るショートカットは目的が逆であることを先に押さえておきたい。

実際に効く起動コマンド

Chromeが読むオプションは--profile-directoryで、渡すのは画面に表示されている名前ではなく、ディスク上のフォルダ名になる。

open -na "/Applications/Google Chrome.app" --args --profile-directory="Profile 3"

この1行には、外すと動かなくなる点が3つある。

  • -nは新しいインスタンスを開く指定になる。これが無いと、Chromeがすでに起動している場合に既存の窓が前に出るだけで、後ろの指定は捨てられる。何も起きないように見える原因のほとんどはここにある
  • アプリ名はフルパスで書く。Chromiumを土台にした別製品の中には、プロセス名が同じGoogle Chromeになっているものがあり、名前だけで書くとそちらへ渡ってしまうことがある
  • --argsより後ろはChrome本体への指定になる。プロファイル指定の後ろにURLを足せば、そのプロファイルでそのページが開く

3つ目が実際にはいちばん効く。日常で必要なのは「仕事用のプロファイルでChromeを開く」ことではなく、「仕事用のプロファイルで取引先の管理画面を開く」ことのほうだからだ。URLまで含めて1つの動作にしておくと、切り替えの手数が3手から1手に減る。

フォルダ名を正しく調べる

表示名とフォルダ名はまったく別物になる。画面に「仕事」と出ているプロファイルの実体がProfile 5ということは普通に起きるし、表示名を変えてもフォルダ名は変わらない。ショートカットが違うアカウントを開く原因は、ほぼこの取り違えにある。

実体は~/Library/Application Support/Google/Chrome/の下にある。最初に作られたものがDefaultで、以降がProfile 1Profile 2と作成順に付く。途中のプロファイルを削除すると番号は詰められず、欠番のまま残る。表示名との対応は同じ階層にあるLocal Stateというファイルの中、profile.info_cacheに入っていて、フォルダ名ごとに表示名とログイン中のメールアドレスが並んでいる。

もっと早いのは、目的のプロファイルの窓でchrome://versionを開くことだ。そのプロファイルのパスがそのまま表示されるので、書き写すだけで済む。

注意したいのは、存在しないフォルダ名を書いたときの挙動になる。Chromeはこれをエラーとして止めない。その名前で空のプロファイルを新しく作って開く。画面上はログアウトした状態にしか見えないので、ショートカットの記述ミスだと気づくまでに時間がかかる。

プロファイル指定と一緒に使うオプション

毎日使うランチャーでは、プロファイル指定だけを書くことはあまりない。目的は起動そのものではなく、作業できる状態に着地することだからだ。

いちばん効くのは、プロファイル指定の後ろにURLを足すことになる。open -na "/Applications/Google Chrome.app" --args --profile-directory="Profile 3" https://example.comと書けば、そのプロファイルでそのページが1動作で開く。URLは複数並べられ、それぞれ別のタブとして開くので、朝いちばんに開く画面の組をまとめて用意しておく使い方ができる。

もう1つが--new-windowになる。これを付けないと、そのプロファイルにすでに窓がある場合、既存の窓にタブが増えるだけで終わることがある。別のディスプレイにきれいな窓をもう1枚出したい、という意図なら付けておいたほうがよい。

オプション全般については、増やしすぎないほうがよい。Chromeは非常に多くの起動オプションを受け付けるが、その多くは開発向けで、利用者向けの説明が無く、バージョンの更新で予告なく消えることがある。安全機能を切る種類のオプションや、プロファイルの場所の解決を変えるオプションは、一見正常に見えて挙動だけが微妙に狂った状態を作る。プロファイル指定とURLと窓の指定の3つに絞っておけば、ランチャーに必要なことは足りるし、この種の問題を丸ごと避けられる。

クリックできる形にする

方法 作る手間 Dockに独立した枠 独自アイコン 壊れる条件
シェルのエイリアス 数分 付かない 付かない フォルダ名の削除
Automatorでアプリ化 10分ほど 付く 手動で設定可 フォルダ名の削除
ショートカットアプリ 10分ほど 付く 手動で設定可 フォルダ名の削除
別のブラウザを入れる 不要 付く 付く 更新対象が2つに増える

落ち着き先になりやすいのはAutomatorだ。アプリケーション形式で新規作成し、シェルスクリプトを実行するアクションに先ほどのコマンドを貼り、アプリケーションフォルダに保存してDockへドラッグする。保存したアプリは情報ウインドウからアイコンを差し替えられるので、ここで初めて2つのプロファイルが見た目で区別できるようになる。

最初の1回でつまずきやすいのが引用符の扱いになる。プロファイルのフォルダ名には半角スペースが入るため、二重引用符を外すと名前が途中で切れて、別のプロファイルとして解釈される。Automatorの中でシェルの実行が失敗しても、ターミナルほど詳しい理由は出てこない。先にターミナルでそのままの1行を走らせて、意図した窓が出ることを確かめてからアプリとして保存すると、原因の切り分けが要らなくなる。

ショートカットアプリでも同じことができ、キーボードから呼べる点が有利になる。ただしどちらで作っても、できあがるのはランチャーであって入れ物ではない。開いた後の窓はChromeのものであり、次の節の制約がそのまま残る。

作ったランチャーを長く保たせるには、決めごとを2つ置いておくとよい。1つは、プロファイルではなくURLで名前を付けること。「取引先の管理画面」という名前のランチャーは、半年後の自分にも何を開くものか伝わる。「Chrome 仕事用」ではどのプロファイルを指しているのか分からない。もう1つは、Automatorのスクリプトの中に、そのときの表示名をコメントとして書き残しておくことだ。フォルダ名は意味を持たず、表示名は変わる。この2つはいずれずれるので、1行のコメントで後の混乱が消える。

プロファイルを削除するときも、ランチャーの存在を思い出しておきたい。Profile 2を消してもProfile 3は番号を詰めないので、残ったランチャーはそのまま動く。ただし消したほうを指しているランチャーは、空のプロファイルを作って開くだけになる。削除の前にアプリケーションフォルダを見て、そのフォルダ名を書いたランチャーが無いかを確かめると、後から「ログアウトしている」と悩まずに済む。

ショートカットでは直らないこと

ショートカットが決めるのは、窓がどう開くかまでだ。開いた後にその窓が何であるかは変えられない。

macOSから見ると、Chromeの窓はどのプロファイルのものでも同じ1つのアプリケーションに属している。Command+Tabはアプリを行き来する仕組みなので、仕事用と個人用の間を移動できない。Mission Controlでも同じアイコンの兄弟として並ぶ。ランチャーをいくつ作っても、Dockの数え方は1つのままになる。Chromeを隠せば全部まとめて隠れる。

通知も同じ制約を引き継ぐ。届いたことは伝わるが、どのプロファイルに届いたかは伝わらない。クリックしたときに前に出る窓も、通知の持ち主とは限らない。

いちばん角が立つのはリンクの扱いになる。macOSはクリックされたリンクを既定のブラウザに渡し、Chromeは最前面の窓でそれを開く。プロファイルはこの層に存在しないので、仕事の会議招待が個人用のプロファイルで開き、自社が持っている資料にアクセス申請を出す事故が起きる。ランチャーはその時点で仕事を終えているため、どう作っても防げない。

ここがショートカット作りの採算の分かれ目になる。1つ作るのは間違いなく得だ。ランチャーを3つ作り、アイコンを差し替え、キー割り当てまで足して、OSが全部を1つのアプリとして扱う前提を打ち消そうとし始めたら、それは別の形のブラウザが最初から持っているものを手で作り直していることになる。

手を止めて、形を変える判断

判断の基準は切り替えの頻度に置くと分かりやすい。週に2回のプロファイルなら、保存したコマンド1つで十分に足りる。1日に20回を超えるなら、それは起動の問題ではなく窓の識別の問題であり、ショートカットの衣を着た別の課題になっている。

その場合に効くのは、Webアプリとアカウントのそれぞれに独立した窓とセッションを持たせて、OS側から別のものとして扱えるようにする形だ。アプリごとに独立したワークスペースが具体的にどう組まれているかはできることに、取引先ごとにアプリの組をまとめて切り替える単位の話はワークスペースにまとまっている。ターミナルを同じ窓の中に置いて調べ物と手元の作業を往復せずに済ませる考え方はターミナルが扱っている。

同じ用途の製品を並べて選ぶなら、値段より先にセッションの持ち方と対応OSを見たほうが早い。Waveboxとの比較は多機能な製品との違いを、Sidekickとの比較は同じくmacOSで動く製品との違いを、それぞれ事実の並べ方で整理している。費用の考え方は料金に、導入前に引っかかる点はよくある質問にある。まず手を付けるべきは、chrome://versionで本当のフォルダ名を確認してから、いちばんよく使うプロファイルのランチャーを1つだけ作ることだ。1週間使って残った不便が「起動の手間」ではなく「切り替えの手間」だったなら、変えるべきなのは窓の持ち方のほうになる。

よくある質問

macOS版のChromeにプロファイルのショートカット作成が無いのはなぜですか?

Windowsのショートカットはコマンドラインを持つファイルなので、Chromeがプロファイル指定を書き込める。macOSのアプリケーションはバンドル形式でコマンドラインを持たないため、書き込む先が無い。代わりに起動オプションの--profile-directoryを使う形になる。

プロファイルのフォルダ名はどこで確認できますか?

目的のプロファイルの窓でchrome://versionを開くと、そのプロファイルのパスがそのまま表示される。同じ情報は~/Library/Application Support/Google/Chrome/にあるLocal Stateprofile.info_cacheにもあり、フォルダ名と表示名とメールアドレスの対応が並んでいる。

ショートカットを実行するとログアウトした窓が開きます。原因は何ですか?

コマンドに書いたフォルダ名が存在していない可能性が高い。Chromeはこれをエラーにせず、その名前で空のプロファイルを作って開くため、ログアウトしたように見える。chrome://versionで正しい名前を確認して書き直せば直る。

ショートカットで特定のサイトを特定のプロファイルで開けますか?

開ける。プロファイル指定の後ろにURLを足すだけでよい。切り替えの目的は決まった道具を開くことである場合が多いので、プロファイルだけを開くより手数が減り、実用上はこちらのほうが役に立つ。

記事一覧へ戻る