lra / mackup

Keep your application settings in sync (OS X/Linux)
GNU General Public License v3.0
14.61k stars 932 forks source link

MacOS Ventura - Terminal Preferences not saving (and other apps) #1890

Open anthonysomerset opened 1 year ago

anthonysomerset commented 1 year ago

Hi There

I use Mackup with dropbox (using CloudStorage) using the workaround suggested in #1858 - I am running on an M1 Pro MBP but i can also observe the same issue on an Intel Mac as well

this might be happening in more apps, i've noticed a few apps (Apple native and non Apple)

I prefer to use a different Shell profile and fonts etc, wierd that after upgrade (reinstall and restore mackup) - my terminal preferences were back at default

attempted to manually change the preferences in terminal, when i quit it and restarted it, it was back to default.

deleted the Symlink to terminal preferences -

rm ~/Library/Preferences/com.apple.Terminal.plist

restarted terminal, reset settings, restarted terminal and the settings are fine

is there possibly some new permissions/security change that breaks symlinks and therefore mackups functionality on ventura?

I've observed similar issues in iStat Menus, need to check for other apps specifically

shell or other command line based utilities appear to be OK, it does appear to be limited to "GUI" apps at a first glance

anthonysomerset commented 1 year ago

interesting logs from console for Terminal from cfprefsd

rejecting write of key(s) NSWindow Frame TTWindow Basic in { com.apple.Terminal, asomerset, kCFPreferencesAnyHost, /Users/asomerset/Library/Preferences/com.apple.Terminal.plist, managed: 0 } from process 15121 (Terminal) because Path not accessible
99 duplicate reports for System Policy: cfprefsd(589) deny(1) file-read-data /Users/asomerset/Library/CloudStorage/Dropbox/ConfigSync/Mackup/Library/Preferences/com.apple.Terminal.plist

certainly looks to be some kind of permissions issue

anthonysomerset commented 1 year ago

so oddly - i can get this to work by granting cfprefsd full disk access - which feels entirely incorrect......

dnicolson commented 1 year ago

Granting cfprefsd Full Disk Access allows apps to save preferences again, the symlinks are then replaced with regular files though as in https://github.com/lra/mackup/issues/1854.

anthonysomerset commented 1 year ago

good point - i just noticed that now

godbout commented 1 year ago

finding the same issue with Xcode. can't read/save the plist from the new Dropbox location properly.

erickinsella commented 1 year ago

Finding a similar issue with IntelliJ. Did granting cfprefsd Full Disk Access continue to work or have any side effects?

matthewmrichter commented 1 year ago

My mac is managed by my company, I don't seem to be able to give cfprefsd full access, so my temporary fix is to just add terminal to [applications_to_ignore] :( Will monitor this issue for updates..

erickinsella commented 1 year ago

@anthonysomerset Where's cfprefsd located such that I can give it access? When I search to add it I'm not finding it.

dnicolson commented 1 year ago

It's located at /usr/sbin/cfprefsd, you can find it with which cfprefsd.

In Full Disk Access, you can hit Command-G and paste /usr/sbin/cfprefsd.

matthewmrichter commented 1 year ago

Just to clarify, for Ventura my process to accomplish what @dnicolson suggested:

  1. Go to Settings->Privacy/Security->Full Disk Access
  2. Click the plus sign under the list of apps
  3. Enter admin credentials as needed
  4. When file picker shows up, press Cmd-Shift-G
  5. Enter filenam

Confirmed the backup works after this!

erickinsella commented 1 year ago

Unfortunately, for me giving cfprefsd full access didn't solve the issues I'm seeing with IntelliJ.

spuder commented 7 months ago

Related https://github.com/lra/mackup/issues/1924