mathiasbynens / dotfiles

:wrench: .files, including ~/.macos — sensible hacker defaults for macOS
https://mths.be/dotfiles
MIT License
30.01k stars 8.74k forks source link

"Could not write domain com.apple.universalaccess; exiting" error in macOS Monterey #1027

Open PaulRBerg opened 2 years ago

PaulRBerg commented 2 years ago

I'm getting multiple errors when I execute the .macos script on my computer (which runs macOS@12.4).

2022-06-01 23:49:23.570 defaults[30802:1890220] Could not write domain com.apple.universalaccess; exiting
2022-06-01 23:49:28.533 defaults[30847:1890482] Could not write domain com.apple.universalaccess; exiting
2022-06-01 23:49:28.557 defaults[30848:1890486] Could not write domain com.apple.universalaccess; exiting
2022-06-01 23:49:28.580 defaults[30849:1890489] Could not write domain com.apple.universalaccess; exiting
lgarron commented 1 year ago

I've also been having the same issue in VSCode recently, and this is the only thing on the internet about it. For what it's worth, it seems I can work around it by using another terminal app (built-in or iTerm).

I assume it's a permission issue, but I'm not entirely sure.

tylerbecks commented 1 year ago

Same issue. I'm just removing the lines from the file.

stratofax commented 1 year ago

Confirming that this is also an issue in Catalina (macOS 10.15). I haven't found a resolution using the defaults command, although I did find this discussion that suggested using AppleScript -- not that I'm going to try or recommend that: Changing Universal Access preferences - AppleScript - Late Night Software Ltd.

stratofax commented 1 year ago

Another possible resolution mentioned elsewhere, that I unfortunately haven't had a chance to test yet on Catalina, is to grant your terminal app (e.g. Terminal.app, iTerm2, Alacritty, Kitty) Full Disk Access: System Preferences, Privacy, Full Disk Access

Has anyone had any success with this approach?

sonn-gamm commented 1 year ago

@stratofax I just tried and it seems to work. I am not entirely sure what the repercussions of this could be. Probably any program you run in Terminal.app can write anywhere on disk, if allowed?

stratofax commented 1 year ago

My understanding is that Apple has added an additional layer of security between terminal apps and the file system. So, presumably, with Full Disk Access active for a Terminal app, you can write to the disk, but, as you noted, only if you have authorization with the active user account. Of course, if you're running a program as root or using sudo you would have full access, so use this power sparingly!

It used to be that the Mac Finder gave you a limited view of the file system (no hidden files, etc.) and you could open the terminal to see the "ground truth" of what was going on in the file system, but this new security layer Apple has added for Terminal apps obscures the file system for the Terminal, if not more than, at least as much as the Finder.

At least there's still a terminal app on macOS. I think if Apple could, they'd go full iOS and get rid of the Terminal and most file system access. So there's that.