Wo werden die Terminaleinstellungen unter OS X gespeichert?

24

Sie würden denken, A) ich würde das jetzt wissen, und B) dass es leicht verfügbare Informationen sind, aber anscheinend ist beides nicht der Fall.

Was ich suche, ist, wo die Konfigurationsdateien (Farben, etc.), die mit Terminal geliefert werden, auf dem System gehalten werden. Es wäre sehr praktisch, in einer /dotfiles/setup.shDatei auf diese zu verweisen .

Bin ich ahnungslos? Ich habe den Paketinhalt von Terminal.app überprüft, aber nichts ist zu beachten. Es ist auch bemerkenswert, dass OS X (zumindest Mountain Lion) Terminaleinstellungen, Sitzungen und Skripte als vordefinierte Suchparameter in Finder enthält, aber ich habe nichts gefunden.

Ich habe online gesucht und mich tief in /usr/und vertieft /Library. Nichts. Jede Hilfe wäre sehr dankbar. Vielen Dank.

Kevin Suttle
quelle

Antworten:

26

Die Einstellungen scheinen bei: ~/Library/Preferences/com.apple.Terminal.plist

Siehe auch diese Frage zu SO und eine andere Frage zu SU, in der es darum geht , die Einstellungen von einem Mac zu exportieren und auf einen anderen zu verschieben.

Bei älteren MacOS-Versionen können Sie die Datei direkt bearbeiten. Bei neueren Betriebssystemen (mit neueren Versionen 10.9 und höher) möchten Sie jedoch den Befehl defaults verwenden, um die Werte in die persistente Datenbank zu schreiben (die möglicherweise Änderungen im Dateisystem zurückschreibt oder nicht) ) anstatt die Datei zu bearbeiten.

defaults read com.apple.Terminal

Oder schreiben Sie die sichere Tastatureingabefunktion (als ein einfaches Beispiel):

defaults write com.apple.Terminal SecureKeyboardEntry 1
Paul R
quelle
1
@bmike, In neueren Hauptversionen von OS X und macOS kann es problematisch sein , nur defaultsfür sich allein in eine .plistDatei zu schreiben, die sich derzeit im Speicher befindet, da sie vom System ohne Rücksicht darauf, was bereits geschrieben wurde, leicht überschrieben wird vom User mit defaults. Eine der Problemumgehungen besteht darin, den killall Befehl mit dem entsprechenden Ziel zu verwenden. Wenn Sie beispielsweise eine Finder-Einstellung killall Finderändern, wird die Änderung gespeichert, wenn Sie direkt danach verwenden. In einigen Fällen muss man killall -u $USER cfprefsdoder verwenden sudo killall -u root cfprefsd, etc.
user3439894 18.06.18
Agreed @ user3439894 - Ich habe explizit die Standardeinstellungen verwendet, um die Domäne im Speicher zu lesen und zu schreiben, und nicht, um in den Plist-Pfad zu schreiben. Wir brauchen wahrscheinlich eine neue Frage, um cfprefsd
herauszufinden,