Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

mac:defaults [2011/04/17 00:16]
wikisysop
mac:defaults [2011/04/17 00:17] (aktuell)
wikisysop
Zeile 73: Zeile 73:
   * <fc #​800000>​**write:​**</​fc>​ Dieser Modus erfordert alle Argumente, wenn ein Schlüssel geändert werden soll. Das Kommando <fc #​008000>​defaults write com.apple.finder _FXShowPosixPathInTitle -bool YES</​fc>​ zB zeigt im Finder Fenster Titel den vollständigen UNIX Pfad an.\\ \\ Bei Strings ist die Angabe des Schlüsseltyps nicht erforderlich,​ bei anderen Typen gibt es die Flags <fc #​008000>​-bool</​fc>​ mit den Werten <fc #​008000>​YES/​NO</​fc>​ bzw. <fc #​008000>​TRUE/​FALSE</​fc>​. <fc #​008000>​-int</​fc>​ für Ganzzahlen, <fc #​008000>​-float</​fc>​ für Gleitkommazahlen,​ <fc #​008000>​-array</​fc>​ für Felder, <fc #​008000>​-dict</​fc>​ für Dictionarys und <fc #​008000>​-data</​fc>​ für Hexadezimalzahlen. Beispiele finden Sie im folgenden Artikel: [[:​mac:​defaults_tweaks|->​ Plist Tweaks]]   * <fc #​800000>​**write:​**</​fc>​ Dieser Modus erfordert alle Argumente, wenn ein Schlüssel geändert werden soll. Das Kommando <fc #​008000>​defaults write com.apple.finder _FXShowPosixPathInTitle -bool YES</​fc>​ zB zeigt im Finder Fenster Titel den vollständigen UNIX Pfad an.\\ \\ Bei Strings ist die Angabe des Schlüsseltyps nicht erforderlich,​ bei anderen Typen gibt es die Flags <fc #​008000>​-bool</​fc>​ mit den Werten <fc #​008000>​YES/​NO</​fc>​ bzw. <fc #​008000>​TRUE/​FALSE</​fc>​. <fc #​008000>​-int</​fc>​ für Ganzzahlen, <fc #​008000>​-float</​fc>​ für Gleitkommazahlen,​ <fc #​008000>​-array</​fc>​ für Felder, <fc #​008000>​-dict</​fc>​ für Dictionarys und <fc #​008000>​-data</​fc>​ für Hexadezimalzahlen. Beispiele finden Sie im folgenden Artikel: [[:​mac:​defaults_tweaks|->​ Plist Tweaks]]
  
-  * <fc #​800000>​**find:​**</​fc>​ Mit <fc #​008000>​find</​fc>​ kommen wir zu einem äusserst nützlichen Modus. Da, wie ich oben bereits erwähnte, das Defaults System schlecht dokumentiert ist, wie ich finde und manchmal nicht klar ist, in welche Preferences Datei eine bestimmte Einstellung geschrieben wird, muss man sich selbst auf die Suche machen. find - wie der Name schon sagt - kann mit weiteren kleinen Tricks dafür verwendet werden. Der Modus find durchsucht das gesamte Defaults System nach einen Stichwort, dabei werden Domainnamen,​ Schlüsselnamen und Werte berücksichtigt.\\ \\ Eine Möglichkeit die Änderungen am System bei einer bestimmten Einstellung in den Preferences Files nachzuvollziehen besteht darin, das Defaults System vor und nach seiner Änderung miteinander zu vergleichen. Es macht Sinn alles für dieses Vorhaben vorzubereiten,​ da schon alleine das Öffnen bestimmter PrefPanes eine Vielzahl von Änderungen im Defaults System vornimmt, die unser Ergebnis verfälschen könnten oder die Suche nach den eigentlich interessanten Dingen erschweren.\\ \\ Ich demonstriere das hier mal am Beispiel der Änderung des Systems Warntons in den Systeimstellungen im <fc #​008000>​PrefPane Ton</​fc>​. Zuerst werden die kompletten Systemeinstellungen in eine Datei <fc #​008000>​»vor«</​fc>​ geschrieben (-> <fc #​008000>​defaults read > vor</​fc>​). Im Anschluss wird die Änderung in den Systemeinstellungen vorgenommen,​ dann werden erneut die kompletten Systemeinstellungen in eine Datei <fc #​008000>​»nach«</​fc>​ geschrieben (-> <fc #​008000>​defaults read > nach</​fc>​). Zuletzt werden diese beiden Dateien miteinander verglichen (-> <fc #​008000>​diff vor nach</​fc>​):​\\ <​xterm>​pronto-macpro:​tmp pronto$ <fc #​008000>​defaults read > vor</​fc> ​+  * <fc #​800000>​**find:​**</​fc>​ Mit <fc #​008000>​find</​fc>​ kommen wir zu einem äusserst nützlichen Modus. Da, wie ich oben bereits erwähnte, das Defaults System schlecht dokumentiert ist, wie ich finde und manchmal nicht klar ist, in welche Preferences Datei eine bestimmte Einstellung geschrieben wird, muss man sich selbst auf die Suche machen. find - wie der Name schon sagt - kann mit weiteren kleinen Tricks dafür verwendet werden. Der Modus find durchsucht das gesamte Defaults System nach einen Stichwort, dabei werden Domainnamen,​ Schlüsselnamen und Werte berücksichtigt.\\ \\ Eine Möglichkeit die Änderungen am System bei einer bestimmten Einstellung in den Preferences Files nachzuvollziehen besteht darin, das Defaults System vor und nach seiner Änderung miteinander zu vergleichen. Es macht Sinn alles für dieses Vorhaben vorzubereiten,​ da schon alleine das Öffnen bestimmter PrefPanes eine Vielzahl von Änderungen im Defaults System vornimmt, die unser Ergebnis verfälschen könnten oder die Suche nach den eigentlich interessanten Dingen erschweren.\\ \\ Ich demonstriere das hier mal am Beispiel der Änderung des Systems Warntons in den Systeimstellungen im <fc #​008000>​PrefPane Ton</​fc>​. Zuerst werden die kompletten Systemeinstellungen in eine Datei <fc #​008000>​»vor«</​fc>​ geschrieben (-> <fc #​008000>​defaults read > vor</​fc>​). Im Anschluss wird die Änderung in den Systemeinstellungen vorgenommen,​ dann werden erneut die kompletten Systemeinstellungen in eine Datei <fc #​008000>​»nach«</​fc>​ geschrieben (-> <fc #​008000>​defaults read > nach</​fc>​). Zuletzt werden diese beiden Dateien miteinander verglichen (-> <fc #​008000>​diff vor nach</​fc>​):​\\ <​xterm>​$ <fc #​008000>​defaults read > vor</​fc> ​
  
 <fc #​ffa500>​~~~ Änderung der Systemeinstellunge ~~~</​fc>​ <fc #​ffa500>​~~~ Änderung der Systemeinstellunge ~~~</​fc>​
  
-pronto-macpro:​tmp pronto$ <fc #​008000>​defaults read > nach</​fc>​  +$ <fc #​008000>​defaults read > nach</​fc>​  
-pronto-macpro:​tmp pronto$ <fc #​008000>​diff vor nach</​fc> ​+$ <fc #​008000>​diff vor nach</​fc> ​
 12124c12124 12124c12124
 <         "​com.apple.sound.beep.sound"​ = "/​System/​Library/​Sounds/​Funk.aiff";​ <         "​com.apple.sound.beep.sound"​ = "/​System/​Library/​Sounds/​Funk.aiff";​
 --- ---
->         "​com.apple.sound.beep.sound"​ = "/​System/​Library/​Sounds/​Frog.aiff";</​xterm>​ Wir sehen jetzt, das der Schlüssel <fc #​008000>​com.apple.sound.beep.sound</​fc>​ heißt und der Wert vor der Änderung <fc #​008000>/​System/​Library/​Sounds/​Funk.aiff</​fc>​ war und nach der Änderung <fc #​008000>/​System/​Library/​Sounds/​Frog.aiff</​fc>​ ist. Aber wir wissen noch nicht in welcher Domain sich dieser Schlüssel befindet. Dafür nutzen wir jetzt den find-Befehl:​\\ <​xterm>​pronto-macpro:​tmp pronto$ <fc #​008000>​defaults find com.apple.sound.beep.sound</​fc> ​+>         "​com.apple.sound.beep.sound"​ = "/​System/​Library/​Sounds/​Frog.aiff";</​xterm>​ Wir sehen jetzt, das der Schlüssel <fc #​008000>​com.apple.sound.beep.sound</​fc>​ heißt und der Wert vor der Änderung <fc #​008000>/​System/​Library/​Sounds/​Funk.aiff</​fc>​ war und nach der Änderung <fc #​008000>/​System/​Library/​Sounds/​Frog.aiff</​fc>​ ist. Aber wir wissen noch nicht in welcher Domain sich dieser Schlüssel befindet. Dafür nutzen wir jetzt den find-Befehl:​\\ <​xterm>​$ <fc #​008000>​defaults find com.apple.sound.beep.sound</​fc> ​
 Found 1 keys in domain '<​fc #​0000FF>​com.apple.systemsound</​fc>':​ { Found 1 keys in domain '<​fc #​0000FF>​com.apple.systemsound</​fc>':​ {
     "​com.apple.sound.beep.sound"​ = "/​System/​Library/​Sounds/​Frog.aiff";​     "​com.apple.sound.beep.sound"​ = "/​System/​Library/​Sounds/​Frog.aiff";​
-}</​xterm>​ Wir sehen jetzt also, dass sich unser Schlüssel in der Domain <fc #​008000>​com.apple.systemsound</​fc>​ befindet. Jetzt können wir den write-Modus verwenden um unseren Test wieder auf die ursprüngliche Einstellung zurückzustellen:​\\ \\ <​xterm>​pronto-macpro:​tmp pronto$ <fc #​008000>​defaults write com.apple.systemsound com.apple.sound.beep.sound /​System/​Library/​Sounds/​Funk.aiff</​fc>​ </​xterm>​ Und die Gegenprobe:​\\ <​xterm>​pronto-macpro:​tmp pronto$ <fc #​008000>​defaults read com.apple.systemsound com.apple.sound.beep.sound</​fc> ​+}</​xterm>​ Wir sehen jetzt also, dass sich unser Schlüssel in der Domain <fc #​008000>​com.apple.systemsound</​fc>​ befindet. Jetzt können wir den write-Modus verwenden um unseren Test wieder auf die ursprüngliche Einstellung zurückzustellen:​\\ \\ <​xterm>​$ <fc #​008000>​defaults write com.apple.systemsound com.apple.sound.beep.sound /​System/​Library/​Sounds/​Funk.aiff</​fc>​ </​xterm>​ Und die Gegenprobe:​\\ <​xterm>​$ <fc #​008000>​defaults read com.apple.systemsound com.apple.sound.beep.sound</​fc> ​
 <fc #​0000FF>/​System/​Library/​Sounds/​Funk.aiff</​fc></​xterm>​ <fc #​0000FF>/​System/​Library/​Sounds/​Funk.aiff</​fc></​xterm>​
  
mac/defaults.txt (23224 views) · Zuletzt geändert: 2011/04/17 00:17 von wikisysop
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0