macOS で複数デスクトップの切り替えに yabai と skhd を利用すると便利です。 私の場合は特に「複数デスクトップの切り替え」で利用しています。 Ventura 13.5 環境へのインストールと設定手順をメモしておきます。
今回の設定内容
「複数デスクトップの切り替え」ですが、以前は TotalSpaces で行っていました。 ですが、TotalSpaces の M1 対応は (フォーラム を見ている限り完全に止まっているわけでは無いようですが) あまり順調では無いようです。 その為、最近では yabai & shkd を利用して代替しています。 私の場合は以下の設定にしています。
- デュアルディスプレイ環境
- 「仮想デスクトップ x 8」に拡張
- 左ディスプレイに「仮想デスクトップ x 4」
- 右ディスプレイに「仮想デスクトップ x 4」
- 「Ctrl + 数字」で仮想デスクトップのペアを同時に切り替える
ショートカット | 表示する仮想デスクトップのペア |
---|---|
Ctrl + 1 |
1 & 5 |
Ctrl + 2 |
2 & 6 |
Ctrl + 3 |
3 & 7 |
Ctrl + 4 |
4 & 8 |
前提の準備
今回、yabai と skhd は Homebrew でインストールします。 その為、CommandLineTools をインストールし、Homebrew もインストールしておきます。
sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
また、デスクトップと Dock
から ディスプレイごとに個別の操作スペース
設定を有効化しておきます。
yabai
yabai のインストール手順は Installing yabai (latest release) に記載されています。 現時点では以下を実行する手順になっていました。
brew install koekeishiya/formulae/yabai
yabai --start-service
~/.yabairc
は以下のように設定しました。
#!/usr/bin/env sh
sudo yabai --load-sa
yabai -m signal --add event=dock_did_restart action="sudo yabai --load-sa"
yabai -m config layout float
また公式サイトに以下のインストール手順に以下の記載があります。
yabai uses the macOS Mach APIs to inject code into Dock.app; this requires elevated (root) privileges. You can configure your user to execute yabai --load-sa as the root user without having to enter a password. To do this, we add a new configuration entry that is loaded by /etc/sudoers.
公式サイトでは「yabai --load-sa をパスワード不要での root 権限実行を許可する」設定になっていますが、私の場合は「自ユーザでは sudo
で全コマンド許可」としています (※ 危険性を理解した上で設定すべきであり、推奨される設定ではありません)。
USERNAME ALL = (ALL) NOPASSWD:ALL
skhd
skhd のインストール手順は skhd の README.md に書かれています。 現時点では以下を実行する手順になっていました。
brew install koekeishiya/formulae/skhd
skhd --start-service
~/.skhdrc
は以下のように設定しました。 事前にデスクトップは 8 枚、作成してあります。
ctrl - 1 : yabai -m space --focus 1 && yabai -m space --focus 5
ctrl - 2 : yabai -m space --focus 2 && yabai -m space --focus 6
ctrl - 3 : yabai -m space --focus 3 && yabai -m space --focus 7
ctrl - 4 : yabai -m space --focus 4 && yabai -m space --focus 8
プライバシーとセキュリティの設定
プライバシーとセキュリティ
→ プライバシー
→ アクセシビリティ
から yabai と skhd を許可しておきます。
コメント