24

You'd think A) I'd know this by now, and B) that it's readily available info, but apparently neither is the case.

What I'm looking for is where the config files (colors, etc.) that ship with Terminal are kept on the system. It'd be really handy to point to these in a /dotfiles/setup.sh file.

Am I being oblivious? I've checked the package contents of Terminal.app, but nothing is there of note. It is also noteworthy, that OS X (at least Mountain Lion) will include Terminal settings, sessions, and scripts as pre-defined search parameters in Finder, but I have found nothing.

I've searched online, and dug deep into /usr/ and /Library. Nothing. Any help would be much appreciated. Thanks.

26

The preferences appear to be at: ~/Library/Preferences/com.apple.Terminal.plist

See also this question on SO and another question on SU that focus on exporting the settings from one Mac and moving them to another.

For older macOS, you can edit the file directly but on newer OS (with newer being 10.9 and later) you will want to use the defaults command to write the values to the persistent database (which may or may not flush back changes to the filesystem) rather than editing the file.

defaults read com.apple.Terminal

Or to write the secure keyboard entry function (as one easy example):

defaults write com.apple.Terminal SecureKeyboardEntry 1
  • 1
    @bmike, In more recent major releases of OS X and macOS, using just defaults by itself to write to a .plist file that is currently in memory can be problematic in that it's easily overwritten by the system with what's already in memory without regard for what was written by the User with defaults. One of the workarounds is to use the killall command with the appropriate target. E.g. If one modifies a Finder setting, then using killall Finder directly after will save the change. In some cases one will need to use killall -u $USER cfprefsd or sudo killall -u root cfprefsd, etc. – user3439894 Jun 18 '18 at 18:24
  • Agreed @user3439894 - I explicitly used defaults to read and write the domain in memory and not write to the plist path. We probably need a new question to dig into the “when did cfprefsd make editing preference files obsolete and potentially dangerous?” – bmike Jun 19 '18 at 0:21

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .