¿Dónde se almacenan las configuraciones de Terminal en OS X?

24

Pensarías que A) ya sabría esto, y B) que es información fácilmente disponible, pero aparentemente tampoco es el caso.

Lo que estoy buscando es dónde se guardan en el sistema los archivos de configuración (colores, etc.) que se envían con Terminal. Sería muy útil señalarlos en un /dotfiles/setup.sharchivo.

¿Estoy siendo ajeno? He comprobado el contenido del paquete de Terminal.app, pero no hay nada que destacar. También es digno de mención, que OS X (al menos Mountain Lion) incluirá configuraciones de Terminal, sesiones y scripts como parámetros de búsqueda predefinidos en Finder, pero no he encontrado nada.

He buscado en línea, y he profundizado en /usr/y /Library. Nada. Cualquier ayuda sería muy apreciada. Gracias.

Kevin Suttle
fuente

Respuestas:

26

Las preferencias parecen estar en: ~/Library/Preferences/com.apple.Terminal.plist

Consulte también esta pregunta sobre SO y otra pregunta sobre SU que se centran en exportar la configuración de una Mac y trasladarla a otra.

Para macOS más antiguos, puede editar el archivo directamente, pero en un sistema operativo más nuevo (con el más reciente 10.9 y posterior), querrá usar el comando predeterminado para escribir los valores en la base de datos persistente (que puede o no eliminar los cambios en el sistema de archivos ) en lugar de editar el archivo.

defaults read com.apple.Terminal

O para escribir la función de entrada segura del teclado (como un ejemplo sencillo):

defaults write com.apple.Terminal SecureKeyboardEntry 1
Paul R
fuente
1
@bmike, en las versiones principales más recientes de OS X y macOS, usar solo defaultspara escribir en un .plistarchivo que está actualmente en la memoria puede ser problemático porque el sistema lo sobrescribe fácilmente con lo que ya está en la memoria sin tener en cuenta lo que se escribió por el usuario con defaults. Una de las soluciones es usar el killall comando con el objetivo apropiado. Por ejemplo, si uno modifica una configuración del Finder, usar killall Finderdirectamente después guardará el cambio. En algunos casos, será necesario usar killall -u $USER cfprefsdo sudo killall -u root cfprefsd, etc.
user3439894
De acuerdo @ user3439894: explícitamente utilicé los valores predeterminados para leer y escribir el dominio en la memoria y no escribir en la ruta plist. Probablemente necesitamos una nueva pregunta para indagar en el “cuándo cfprefsdla edición de hacer que los archivos obsoletos y potencialmente peligroso preferencia?”
bmike