-
-
Notifications
You must be signed in to change notification settings - Fork 659
Disabling System Integrity Protection
System Integrity Protection ("rootless") is a security feature of macOS first introduced in 10.13, then further locked down in 10.14.
System Integrity Protection protects some files and directories from being modified — even from the root user. yabai needs System Integrity Protection to be (partially) disabled so that it can inject a scripting addition into Dock.app, which owns the sole connection to the macOS window server. Many features of yabai require this scripting addition to be running such that yabai can modify windows, spaces and displays in a way that otherwise only Dock.app could.
The following features of yabai require System Integrity Protection to be (partially) disabled:
- focus/create/destroy space without animation
- move space (and its windows) left, right or to another display
- remove window shadows
- enable window transparency
- control window layers (make windows appear topmost)
- sticky windows (make windows appear on all spaces)
- move window by clicking anywhere in its frame
- toggle picture-in-picture for any given window
- Turn off your device
- Hold down command ⌘R while booting your device.
- In the menu bar, choose
Utilities
, thenTerminal
# If you're on macOS 10.14 and above
# (printed warning can be safely ignored)
csrutil enable --without debug --without fs
# If you're on macOS 10.13
# (disables SIP completely)
csrutil disable
- Reboot
- You can verify that System Integrity Protection is turned off by running
csrutil status
, which returnsSystem Integrity Protection status: disabled.
if it is turned off
If you are running yabai on macOS 10.13.6 (High Sierra) you can and should re–enable System Integrity Protection after the installation has completed. Repeat the steps above, but run csrutil enable
instead at step 4.
The same instructions apply if you ever want to re–enable System Integrity Protection after uninstalling yabai.
Please note that System Integrity Protection will be re–enabled during device repairs or analysis at any Apple Retail Store or Apple Authorized Service Provider. You will have to repeat this step after getting your device back.
This wiki is a community–driven documentation page. If you want to request a topic for this wiki to address or discuss its content, head over to issue #5.
General
Installation
Configuration
Commands
Tips and Tricks
- Quickly restart the yabai launch agent
- Split yabai configuration across multiple files
- Fix spaces reordering automatically
- Fix folders opened from Desktop not tiling
- Auto updating from HEAD via brew
- Tiling Emacs
- Flash highlight to identify focused window
- Constrain space focus to current display with optional cycling