macOS版Chromeの「ショートカットを作成」で複数アカウント使い分けが出来なくなった問題を解消した話

こんにちは。Yです。

macOSのアップデートかChrome自体のアップデートか原因は分からないのですが、
タイトル通りの事象が発生して、かなり困ったため備忘録も兼ねて書きます。

※macOS Montereyの日本語環境で検証・記載しています。

突然起きた問題

私は、主に3つのGmailアカウントをアクティブに併用しています。

メールアドレス自体はもう少し使っているのですが、転送設定なども利用しており、
この3つのアカウントでほぼ全てのメールが送受信できる状態になっています。

メーラーを利用すると無用なトラブルの原因になり得ることからも、
敢えてWebから利用しており、これまではChromeの「ショートカットを作成」機能で
下記のようにDockに3アカウントのショートカットを設置して利用していました。
Chromeのプロファイルは2つ利用しています。
1個目のプロファイルで2アカウント、2個目のプロファイルで1アカウントを利用。


ところが、いつからかこのショートカットが機能しなくなり、
どのショートカットも「最後に開いていたアカウント」が開くようになってしまいました。

キャッシュ削除や再ログイン、再作成など一通り試しましたが、
なんと同一サイトで複数のショートカットを作ること自体が出来なくなってしまい、
アカウントどころかプロファイルが違っても、単一ショートカットしか作れなくなってしまいました・・・。

色々と試しましたが、ChromeやmacOSそのものでの操作だけでは解消が難しそうだったので、
中指を立てながらAppleScriptを利用してみることにしました。

AppleScriptでChromeを操作

さっくり、こんな感じのスクリプトを作ってみました。

プロファイルを複数利用している場合は、
システム環境設定>セキュリティとプライバシー>プライバシーアクセシビリティから権限付与が必要、
元の機能のように単一ウィンドウとして開くためには、
Chromeのメニューバー>表示>開発/管理>Apple EventsからのJavaScriptを許可が必要です。
--複数プロファイル利用している場合は、プロファイル名を入力しておく
set theProfileName_A to "プロファイル名1"
set theProfileName_B to "プロファイル名2"
set theURI to "https://mail.google.com/mail/u/0/#inbox"
set theCode to "window.open('" & theURI & "', '_blank', 'outerwidth=1280, outerheight=720' );"

--プロファイルを指定して切り替える (システム環境設定から要権限付与)
try
activate application "Google Chrome"
tell application "System Events"
	tell process "Google Chrome"
		click menu item theProfileName_A of menu 1 of menu bar item "プロファイル" of menu bar 1
	end tell
end tell
end try

--新しいウィンドウを開いて、JavaScriptを実行
tell application "Google Chrome"
	make new window
	delay 0.5
	--新しいウィンドウとして開く(Chrome内で「Apple EventsからのJavaScriptを許可」が必要)
	try
		tell window 1
			tell active tab
				execute javascript theCode
			end tell
		end tell
		delete tab of window 2
		--JavaScriptの実行が不許可の場合はそのままタブで開く
	on error
		tell window 1
			tell active tab
				open location theURI
			end tell
		end tell
	end try
end tell

権限を与えた上で日本語環境でこのスクリプトを実行すると、
「1個目のプロファイルの、1個目のアカウント」でGmailが開かれるはずです。
オープンするURLを「https://mail.google.com/mail/u/1/#inbox」に変えると2つ目のアカウント、
「https://mail.google.com/mail/u/2/#inbox」に切り替えると3つ目のアカウントが開けます。

これらを、スクリプトエディタからアプリとして書き出します。

アプリとして書き出す

書き出し方は簡単です。スクリプトエディタで、ファイル>書き出し…を選択します。

画像のように保存ダイアログにて、ファイルフォーマット「アプリケーション」を選択すると、
拡張子が*.appに変わり、アプリケーションとして保存されます。

あとは、アイコン変えてDockに追加すれば、元通りに機能します。

個人的には、「Apple EventsからのJavaScriptを許可」を常時オンで利用するのは
セキュリティ的にどうかなとも思いますので、しばらくはタブで開く方で使ってみようと思ってます。

仕様なのかバグなのか分かりませんが、これくらいは
Google Chromeだけで出来てくれると嬉しいんですけどね・・・。

もし同じ現象でお困りの方がいらっしゃれば、参考になれば幸いです。

誤りやご意見など、何かあればコメント欄からご連絡ください。

コメント