![見出し画像](https://assets.st-note.com/production/uploads/images/171605096/rectangle_large_type_2_187ba957af8b4c2dfe0fb82ebc941163.png?width=1200)
Keyboard Maestro:macOSで「デフォルトブラウザーの変更」を効率化する
利用しているアカウントごとに、Firefox、Safari、Google Chromeのブラウザーを使い分けています。そのため、デフォルトブラウザーの変更を行う場面があるのですが、実に面倒いため、改めて取り組んでみました。
macOSでは音引きのない「ブラウザ」ですが、この記事では「ブラウザー」として表記しています。また、macOSでは「ウインドウ」ですが、この記事では「ウィンドウ」と表記します。
基本
デフォルトの(Web)ブラウザーを変更するには、[システム設定]の[デスクトップとDock]カテゴリ内の[デフォルトのWebブラウザ]のポップアップメニューで変更したいブラウザーを選択します。
![](https://assets.st-note.com/img/1737779512-fMBTUx3zcuh06LgSamw4I2Jb.png?width=1200)
※[デフォルトのWebブラウザ]は、[デスクトップとDock]カテゴリの下の方にあり、そこにたどり着くのにスクロールが必要です。
解決策(1)Keyboard Maestro
次のようなマクロを準備します。
[システム設定]が起動していたら、いったん終了し、起動
(起動しているとフォーカスが狂うため)shift + tabキーで検索窓をフォーカス
「ブラウザ」と入力
「デスクトップとDock」をクリック
(ウィンドウの左上からの座標指定)tabキーを21回押して[デフォルトのWebブラウザ]にフォーカス
![](https://assets.st-note.com/img/1737790680-4ETIxMle7rABoiq0GQcvWJsZ.png?width=1200)
ポップアップメニューが開いた状態になるので、これ以降は手動で操作します。
![](https://assets.st-note.com/img/1737790385-mAQUrVYXHu9IRh3StDeMEc7k.png?width=1200)
キーボードナビゲーション
「tabキーを押してフォーカス」を使えるようにするために、〈キーボードナビゲーション〉をONにしておく必要があります。
![](https://assets.st-note.com/img/1737835400-NncDTS5m7byjsQrldpa8BgfL.png?width=1200)
macOSのバージョン
macOS Sequoia(15)で設定したところ、「tabキー21回」でしたが、macOS Sonoma(14)では「20回」でした。そのため、macOSのバージョンを取得して条件分岐するようにしましょう。
macOSのバージョンを取得するため、次のAppleScriptを走らせます。
return system version of (system info)
変数「local_macos_version_full」に取得した値が入ります。
![](https://assets.st-note.com/img/1737835568-s8GFWz0k52rDguKNyJYv4aft.png?width=1200)
「15.2」「14.6.1」のように取得したmacOSのバージョンから「15」や「14」のように小数点のない数字を取り出します。
![](https://assets.st-note.com/img/1737835603-BHxeQjJL6cSnrp8KiWP4FgVv.png?width=1200)
14だったら20(回)、15だったら21(回)のように条件分岐させます。
![](https://assets.st-note.com/img/1737812416-x6GCMU4JSyZvujhPWnIbstwc.png?width=1200)
変数「repeat_times」の数だけtabキー入力の回数を繰り返します。
マクロを実行していない状態では、変数「repeat_times」に値がないため、オレンジの文字で「currently invalid」と表示されますが、問題ありません。
変数名は変数名だけでOK。「%Variable%repeat_times%」のようにする必要はありません。
![](https://assets.st-note.com/img/1737835649-te5kLpBNs7qmw4A9fH1DvjbW.png?width=1200)
全体像
![](https://assets.st-note.com/img/1737836093-oOvsCz3NUt9aAQFI41chqfpx.png?width=1200)
ダウンロード
解決策(2)AppleScript
[システム設定]の[デスクトップとDock]カテゴリを開くことは、AppleScriptで実現できます。
tell application "System Settings"
activate
set current pane to pane id "com.apple.Desktop-Settings.extension"
delay 1
end tell
[システム設定]が開いていて、どこかにフォーカスがあるとき、うまくいかないことがあるため、「起動していたら、いったん終了」を入れます。
![](https://assets.st-note.com/img/1737791133-AJjewWct2TkQgyPMRUo6ZFYm.png?width=1200)
ダウンロード
「AppleScriptで完結できないの?」
AppleScriptで完結できそうですが、どうにもうまくいかず…
解決策(3)defaultbrowser CLIを使う
コマンドラインで使うdefaultbrowserというソリューションがあるようです。ブラウザー変更の確認ダイアログボックスを表示せずに変更できとのことで、がんばって取り組んでみました。
環境設定までがちょっと大変でした。
Homebrewをインストール
Xcode Command Line Toolsをインストール
defaultbrowserをインストール
まずは、defaultbrowserを使うためにHomebrewとXcode Command Line Toolsをインストールしていきましょう。
3-1. Xcode Command Line Toolsのインストール
Homebrewを使うためには、Xcode Command Line Toolsが必要です。
ターミナルを開き、次のように入力します。
xcode-select --install
次のようなダイアログボックスが表示されるので、[インストール]ボタンをクリックして続行します。
![](https://assets.st-note.com/img/1737791831-EXi4STrlFmkQGjbxz50Bq1ZA.png?width=1200)
Xcode Command Line Toolsインストールの参考
3-2. Homebrewのインストール
次にHomebrewを使えるようにしておきます。
Homebrew とは macOS(またはLinux)用のパッケージマネージャーです。Homebrew を使うことにより、macOS に初期から入っていない Python, Node.js といったパッケージや Google Chrome, Slack や Zoom といったアプリケーションをインストールできます。
なお、Homebrewのマルウェアサイトがあるようですので注意しましょう。
正しくはこちらから。
3-3. defaultbrowserのインストール
ターミナルを開き、次のように入力して、defaultbrowserをインストールします。
brew install defaultbrowser
3-4. AppleScriptファイルを準備
スクリプトエディタ.app(/System/Applications/Utilities/Script Editor.app)を開き、次のコードをペースト。
「setDefaultBrowser.scpt」というファイル名で保存します。
on run argv
do shell script "defaultbrowser " & item 1 of argv
try
tell application "System Events"
tell application process "CoreServicesUIAgent"
tell window 1
tell (first button whose name starts with "use")
perform action "AXPress"
end tell
end tell
end tell
end tell
end try
end run
または、ダウンロード。
「setDefaultBrowser.scpt」というファイルの置き場所が重要ですので、そのディレクトリを記録しておいてください。
私は「~/sw Dropbox/takano masahiro/sync-setting/AppleScript/setDefaultBrowser.scpt」に置きました。
3-5. 「.zprofile」ファイルを編集
ターミナルで次のコードを入力し、nanoというテキストエディタを起動し、「.zprofile」ファイルを編集状態にします。
nano ~/.zprofile
「.zprofile」は、zsh(Z shell)というシェルで利用される設定ファイルで、シェルが起動する際に実行されるコマンドを記述できます。
nanoを起動した状態↓
![](https://assets.st-note.com/img/1737836566-B16NiaPug4so3t0Gz9jMJSv7.png?width=1200)
ターミナルで簡単にコマンドを実行できるように次のエイリアスを追加します。
alias dbc='osascript ~/scripts/setDefaultBrowser.scpt chrome'
alias dbs='osascript ~/scripts/setDefaultBrowser.scpt safari'
実際には「setDefaultBrowser.scpt」が「~/sw Dropbox/takano masahiro/sync-setting/」にあるため、次のように設定します。
ディレクトリ内の半角スペースをエスケープ処理しなくても済むように""で囲んでいます。
Firefox用も加えました。
alias dbc='osascript "~/sw Dropbox/takano masahiro/sync-setting/AppleScript/setDefaultBrowser.scpt" chrome'
alias dbs='osascript "~/sw Dropbox/takano masahiro/sync-setting/AppleScript/setDefaultBrowser.scpt" safari'
alias dbc='osascript "~/sw Dropbox/takano masahiro/sync-setting/AppleScript/setDefaultBrowser.scpt" firefox'
「dbc」「dbs」などは、次の略だと思われます。
dbc:Google Chrome
dbs:Safari
dbf:Firefox
![](https://assets.st-note.com/img/1737837042-253hjkrDPT9tLidKlYAs6eU1.png?width=1200)
ファイルを保存して閉じます(Ctrl+O → Enter → Ctrl+X)。
次のコマンドで設定を反映します:
source ~/.zprofile
スクリプトやコマンドの実行に問題がある場合、スクリプトファイルに実行権限を付与します。
chmod +x ~/sw\ Dropbox/takano\ masahiro/sync-setting/AppleScript/setDefaultBrowser.scpt
Firefoxをデフォルトにする場合、次のように入力します。
dbf
ご参考:デフォルトブザウザーを変更しないアプローチ
「デフォルトブザウザーを変更しない」というか、正確には特定のアプリに設定することで、URLに応じてブラウザーを開くという解決方法があります。
Velja lets you to open links in specific browser or browser profile, switch between browsers effortlessly, and directly launch desktop apps for specific websites, like opening Zoom links in the Zoom app. It enhances privacy by stripping tracking parameters from URLs and allows for the creation of advanced rules, such as opening links from certain apps in a specific browser.
Veljaを使えば、特定のブラウザやブラウザプロファイルでリンクを開いたり、ブラウザを簡単に切り替えたり、ZoomアプリでZoomリンクを開くように、特定のウェブサイト用のデスクトップアプリを直接起動したりすることができます。また、URLからトラッキングパラメータを取り除くことでプライバシーを強化し、特定のアプリからのリンクを特定のブラウザで開くなど、高度なルールを作成することができます。
OpenInも同様。
こちらはSetappにもあります。
ここから先は
![](https://assets.st-note.com/production/uploads/images/7425662/profile_a5ee2a599e9dc5d7e0de3dfdbdf04018.jpg?fit=bounds&format=jpeg&quality=85&width=330)
DTP Transit 定期購読マガジン
マガジン限定記事やサンプルファイルをダウンロードできます。
定期マガジンを購読されるとサンプルファイルをダウンロードいただけます。 https://note.com/dtp_tranist/m/mebd7eab21ea5