Cómo configurar programáticamente el tema / perfil de Terminal

2

Contexto para esta pregunta: Estoy escribiendo un script de bash para configurar automáticamente cualquier Mac con mis herramientas / preferencias, idealmente con un comando si es posible.

La pregunta: Tengo un archivo de tema .terminal que uso y me gustaría que la secuencia de comandos pueda configurarlo como el perfil de terminal predeterminado sin tener que hacerlo a través de la GUI después de ejecutar mi secuencia de comandos, ¿hay un comando para esto?

    
pregunta Jemar Jones 01.12.2018 - 03:16

1 respuesta

0

Está bien, he descubierto una solución:

Para establecer el tema del terminal mediante programación, debe escribir en las preferencias de su sistema. Así que la forma más sencilla que encontré para hacer esto fue extraer las preferencias de usuario de un mac existente primero. Esto supone que ya ha importado su archivo .terminal a los perfiles de la Terminal en su máquina existente. Entonces, primero en el mac existente, debes ejecutar el siguiente (Mi tema se llama Material-Tema, reemplaza esa parte por la tuya) :

plutil -extract Window\ Settings.Material-Theme xml1 -o - ~/Library/Preferences/com.apple.Terminal.plist > theme.xml

Esto creará un archivo theme.xml para que lo uses en tu script. Lo siguiente es editar un poco el archivo. Esto podría ser automatizado, pero si eres como yo solo necesitas hacer esta parte una vez, así que lo hice manualmente. Abra el archivo y elimine el xml circundante en la parte superior e inferior para que solo tenga el dictado, el mío se parecía a esto para referencia: enlace .

Ahora, en su script en la nueva máquina, puede ejecutar lo siguiente para insertar este tema en sus preferencias de usuario:

theme=$(<theme.xml)
plutil -replace Window\ Settings.Material-Theme -xml "$theme" ~/Library/Preferences/com.apple.Terminal.plist
defaults write com.apple.Terminal "Default Window Settings" -string "Material-Theme"
defaults write com.apple.Terminal "Startup Window Settings" -string "Material-Theme"

Ahora, después de ejecutar lo anterior, cuando cierras completamente la aplicación Terminal y la reinicias, tu tema debería ser el predeterminado. ¡Este proceso probablemente se puede mejorar pero esto funcionó para mí!

Tenga en cuenta que es posible que también desee ejecutar defaults read com.apple.Terminal y comprobar si hay otras claves que sean relevantes para su tema. En mi caso, encontré "NSWindow Frame TTWindow Material-Theme" = "0 327 640 450 0 0 1280 777 "; , así que mi script incluye esto también como defaults write com.apple.Terminal "NSWindow Frame TTWindow Material-Theme" -string "0 327 640 450 0 0 1280 777 "

    
respondido por el Jemar Jones 01.12.2018 - 22:52

Lea otras preguntas en las etiquetas