Kontext für diese Frage: Ich schreibe ein Bash-Skript, um jeden Mac automatisch mit meinen Tools/Einstellungen einzurichten, idealerweise mit einem Befehl, wenn möglich.
Die Frage: Ich habe eine .terminal
Themendatei, die ich verwende, und ich möchte, dass das Skript sie als Standard-Terminalprofil festlegen kann, ohne dies nach dem Ausführen meines Skripts über die GUI tun zu müssen. Gibt es dafür einen Befehl?
Okay, ich habe eine Lösung gefunden:
Um das Terminaldesign programmgesteuert festzulegen, müssen Sie in Ihre Systemeinstellungen schreiben. Der einfachste Weg, den ich gefunden habe, war, zuerst die Benutzereinstellungen von einem vorhandenen Mac zu extrahieren. Dies setzt voraus, dass Sie Ihre .terminal
Datei bereits in die Profile des Terminals auf Ihrem vorhandenen Computer importiert haben. Also müssen Sie zuerst auf dem vorhandenen Mac Folgendes ausführen (Mein Thema heißt Material-Theme, ersetzen Sie diesen Teil durch Ihren eigenen) :
plutil -extract Window\ Settings.Material-Theme xml1 -o - ~/Library/Preferences/com.apple.Terminal.plist > theme.xml
Dadurch wird eine Datei erstellt theme.xml
, die Sie in Ihrem Skript verwenden können. Als nächstes bearbeiten Sie die Datei ein wenig. Dies könnte automatisiert werden, aber wenn Sie wie ich sind, müssen Sie diesen Teil nur einmal machen, also habe ich das manuell gemacht. Öffnen Sie die Datei und entfernen Sie das umgebende XML oben und unten, sodass Sie nur noch das Diktat haben. Meins sah als Referenz so aus: https://pastebin.com/zfXFRY2e .
Jetzt können Sie in Ihrem Skript auf dem neuen Computer einfach Folgendes ausführen, um dieses Thema in Ihre Benutzereinstellungen einzufügen:
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"
Nachdem Sie das obige ausgeführt haben, wenn Sie die Terminal-App vollständig schließen und neu starten, sollte Ihr Design der Standard sein. Dieser Prozess kann wahrscheinlich verbessert werden, aber das hat bei mir funktioniert!
Beachten Sie, dass Sie möglicherweise auch ausführen defaults read com.apple.Terminal
und prüfen möchten, ob es andere Schlüssel gibt, die für Ihr Design relevant sind. In meinem Fall habe ich festgestellt, "NSWindow Frame TTWindow Material-Theme" = "0 327 640 450 0 0 1280 777 ";
dass mein Skript dies auch enthältdefaults write com.apple.Terminal "NSWindow Frame TTWindow Material-Theme" -string "0 327 640 450 0 0 1280 777 "
Jemar Jones
TJ Luoma
Jemar Jones
TJ Luoma
mmmmmm
Jemar Jones
mmmmmm