macOS Sonoma 14 で yabai を復旧させる方法

              ·

個人的に常用している Mac 向け ウィンドウマネージャーの koekeishiya/yabai だが、macOS Sonoma 14 に アップデートして以来、動かなくなってしまっていた。wiki の内容を参考に、コードの署名をやり直したら 動くようになったので、手順を簡単にまとめておく。

手順

  1. 最新の yabai をインストールする

    yabai --stop-service
    brew upgrade yabai
    
  2. Preferences > セキュリティ > アクセシビリティ から yabai を削除

    アクセシビリティ_2023-12-29_11-24-40.png

    brew upgrade をしたタイミングによっては、“yabai” が2行表示されている場合があるが、 どちらも削除しておく。(後の手順で再び追加するので問題ない)

  3. スクリプト追加の設定

    sudo visudo -f /private/etc/sudoers.d/yabai
    

    なお sha256:<hash> には最新のバイナリから算出したハッシュ値を指定するとのことだったので、 shasum を実行して取得した値を設定した

    shasum -a 256 $(which yabai)
    

    例えば、私の環境なら以下のようになる。

    micheam ALL=(root) NOPASSWD: sha256:8e08310ff80e2ce351e81f8a63609430b07d0abb0c9bdcbc51446ed008202da5 /opt/homebrew/bin/yabai --load-sa
    
  4. codesign をやり直す

    sudo codesign -f -s - $(which yabai)
    
  5. yabai を起動する

    yabai --start-service
    
  6. Preferences > セキュリティ > アクセシビリティ から yabai を追加する

    yabai の起動に伴い、mac Preference のダイアログが表示されるので、 それにしたがって yabai を追加(有効化)する。

  7. mac を再起動する

    再起動はお好きな方法で。

    sudo reboot
    

その他

ちなみに、私の環境では sudo visudo を実行したところで libsodium が見つからない旨エラーが発生してしまった。 これは特に yabai は関係なく、vim が依存する libsodium のバージョンと brew でインストール されている libsodium のバージョンが異なっていたために発生していた。 ( Vim は手動でビルドしたものは libsodium.23.dylib を参照していたが、brew でインストールされている 最新のバージョンは 26 だった )

ついでに vim の最新をビルドし直したら、無事に sudo visudo が実行できるようになった。

参考


yabai が動かなくなって悲しかったが、復旧できてよかった😌

おわり

comments powered by Disqus