Où sont stockés les paramètres du terminal sur OS X?

24

On pourrait penser A) que je le sais maintenant, et B) que ce sont des informations facilement disponibles, mais apparemment ce n'est pas le cas.

Ce que je recherche, c'est où les fichiers de configuration (couleurs, etc.) fournis avec Terminal sont conservés sur le système. Ce serait vraiment pratique de les signaler dans un /dotfiles/setup.shfichier.

Suis-je inconscient? J'ai vérifié le contenu du package de Terminal.app, mais rien n'est à noter. Il convient également de noter que OS X (au moins Mountain Lion) inclura les paramètres du terminal, les sessions et les scripts en tant que paramètres de recherche prédéfinis dans le Finder, mais je n'ai rien trouvé.

J'ai cherché en ligne et creusé profondément dans /usr/et /Library. Rien. Toute aide serait très appréciée. Merci.

Kevin Suttle
la source

Réponses:

26

Les préférences semblent être: ~/Library/Preferences/com.apple.Terminal.plist

Voir aussi cette question sur SO et une autre question sur SU qui se concentrent sur l'exportation des paramètres d'un Mac et leur déplacement vers un autre.

Pour les anciens macOS, vous pouvez modifier le fichier directement, mais sur les systèmes d'exploitation plus récents (la version la plus récente étant la version 10.9 et ultérieure), vous souhaiterez utiliser la commande par défaut pour écrire les valeurs dans la base de données persistante (qui peut ou non annuler les modifications apportées au système de fichiers). ) plutôt que de modifier le fichier.

defaults read com.apple.Terminal

Ou pour écrire la fonction de saisie sécurisée du clavier (comme exemple simple):

defaults write com.apple.Terminal SecureKeyboardEntry 1
Paul R
la source
1
@bmike, dans les versions majeures plus récentes d'OS X et de macOS, utiliser uniquement defaultspar lui-même pour écrire dans un .plistfichier qui est actuellement en mémoire peut être problématique car il est facilement remplacé par le système par ce qui est déjà en mémoire sans tenir compte de ce qui a été écrit par l'utilisateur avec defaults. L'une des solutions consiste à utiliser la killall commande avec la cible appropriée. Par exemple, si l'on modifie un paramètre du Finder, alors utiliser killall Finderdirectement après enregistrera la modification. Dans certains cas, il faudra utiliser killall -u $USER cfprefsdou sudo killall -u root cfprefsd, etc.
user3439894
Accepted @ user3439894 - J'ai explicitement utilisé les valeurs par défaut pour lire et écrire le domaine en mémoire et non pour écrire sur le chemin plist. Nous avons probablement besoin d'une nouvelle question pour creuser dans «quand cfprefsd
avez-vous