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だけで出来てくれると嬉しいんですけどね・・・。
もし同じ現象でお困りの方がいらっしゃれば、参考になれば幸いです。
誤りやご意見など、何かあればコメント欄からご連絡ください。
コメント
コメントを投稿