macOS版Chromeの「ショートカットを作成」で複数アカウント使い分けが出来なくなった問題を解消した話
こんにちは。Yです。
macOSのアップデートかChrome自体のアップデートか原因は分からないのですが、
タイトル通りの事象が発生して、かなり困ったため備忘録も兼ねて書きます。
※macOS Montereyの日本語環境で検証・記載しています。
メールアドレス自体はもう少し使っているのですが、転送設定なども利用しており、
この3つのアカウントでほぼ全てのメールが送受信できる状態になっています。
メーラーを利用すると無用なトラブルの原因になり得ることからも、
敢えてWebから利用しており、これまではChromeの「ショートカットを作成」機能で
下記のようにDockに3アカウントのショートカットを設置して利用していました。
ところが、いつからかこのショートカットが機能しなくなり、
どのショートカットも「最後に開いていたアカウント」が開くようになってしまいました。
キャッシュ削除や再ログイン、再作成など一通り試しましたが、
なんと同一サイトで複数のショートカットを作ること自体が出来なくなってしまい、
アカウントどころかプロファイルが違っても、単一ショートカットしか作れなくなってしまいました・・・。
色々と試しましたが、ChromeやmacOSそのものでの操作だけでは解消が難しそうだったので、
中指を立てながらAppleScriptを利用してみることにしました。
プロファイルを複数利用している場合は、
システム環境設定>セキュリティとプライバシー>プライバシーアクセシビリティから権限付与が必要、
元の機能のように単一ウィンドウとして開くためには、
Chromeのメニューバー>表示>開発/管理>Apple EventsからのJavaScriptを許可が必要です。
権限を与えた上で日本語環境でこのスクリプトを実行すると、
「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だけで出来てくれると嬉しいんですけどね・・・。
もし同じ現象でお困りの方がいらっしゃれば、参考になれば幸いです。
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だけで出来てくれると嬉しいんですけどね・・・。
もし同じ現象でお困りの方がいらっしゃれば、参考になれば幸いです。
誤りやご意見など、何かあればコメント欄からご連絡ください。



コメント
コメントを投稿