Bearbeiten der Systemeinstellungen über das Terminal

Ich versuche, Systemeinstellungen über die Befehlszeile zu bearbeiten, kann aber für mein ganzes Leben nicht die richtigen Namen von Variablen finden.

In den Anmeldeoptionen unter Benutzer und Gruppen möchte ich das Anzeige-Anmeldefenster von Benutzerliste auf „Name und Passwort“ ändern können.
In Date & Time würde ich gerne wissen, wie ich die Zeit auf einem von uns verwendeten Server ändere. Aktivieren Sie die Felder in den Energiespareinstellungen der Freigabeeinrichtung

Es wäre großartig, wenn mir jemand helfen oder mich in die richtige Richtung weisen könnte, da ich weiß, dass Sie die Plists-Einstellungen bearbeiten, aber wissen, was hinzugefügt werden muss, oder die bevorzugten Namenskonventionen finden.

Vielen Dank.

Hast du es geschafft, die Anmeldeoptionen zu konfigurieren?

Antworten (3)

Zunächst können Sie sich eine Website ansehen, die viele dieser Dinge auflistet: http://secrets.blacktree.com/

Ich habe jedoch nur eine Brute-Force-Lösung genommen:

Kopieren Sie den Ordner „Preferences“.

$ cp -r /Library/Preferences before

Starten Sie die Systemeinstellungen. Nehmen Sie eine Änderung über die GUI vor. Wahrscheinlich ist es am besten, eine Änderung nach der anderen vorzunehmen, z. B. habe ich "Anmeldefenster anzeigen als:" von "Benutzerliste" in "Name und Passwort" geändert. Beenden Sie die Systemeinstellungen.

Kopieren Sie den Preferences-Ordner erneut:

$ cp -r /Library/Preferences after

Sehen Sie, welche Dateien sich geändert haben:

$ diff -ur before after
Binary files before/Preferences/com.apple.loginwindow.plist and after/Preferences/com.apple.loginwindow.plist differ

Vergleichen Sie die beiden Versionen. Da es sich um Binärdateien handelt, müssen Sie sie zum Vergleich in XML konvertieren. Ich verwende dafür einen Alias:

$ alias plist='plutil -convert xml1 -o /dev/stdout'
$ diff -u <(plist before/Preferences/com.apple.loginwindow.plist) <(plist after/Preferences/com.apple.loginwindow.plist)
--- /dev/fd/63  2013-01-23 18:20:29.000000000 +0200
+++ /dev/fd/62  2013-01-23 18:20:29.000000000 +0200
@@ -9,7 +9,7 @@
    <key>RetriesUntilHint</key>
    <integer>3</integer>
    <key>SHOWFULLNAME</key>
-   <false/>
+   <true/>
    <key>lastUser</key>
    <string>loggedIn</string>
    <key>lastUserName</key>

An dieser Stelle haben wir die Einstellung gefunden. Bestätigen Sie, dass wir es haben mit defaults:

$ defaults read /Library/Preferences/com.apple.loginwindow SHOWFULLNAME
1
$ sudo defaults write /Library/Preferences/com.apple.loginwindow SHOWFULLNAME -bool false
$ defaults read /Library/Preferences/com.apple.loginwindow SHOWFULLNAME
0

Starten Sie die Systemeinstellungen und bestätigen Sie die Änderung.

sudo opensnoop -n cfprefsdzeigt, auf welche Eigenschaftslisten zugegriffen wird. Sie können die Einstellungsdateien auch einfach nach Änderungsdatum sortieren: ls -t {~,}/Library/Preferences/{ByHost,}.

Für Einstellungen in der Benutzerdomäne können Sie auch ausführen defaults read > temp, einige Einstellungen ändern und ausführen diff temp <(defaults read).

druckt unter macOS 10.12.1 opensnoopnur Fehlermeldungen; zuerst dtrace: system integrity protection is on, some features will not be available, dann eine Liste von Nachrichten wie dtrace: error on enabled probe ID 5 (ID 167: syscall::open:return): invalid user access in action #11 at DIF offset 2; Der zweite Teil scheint gut zu funktionieren

Sie können AppleScript verwenden, um viele Eigenschaften der Systemeinstellungen zu steuern. Beispiele finden Sie unter https://www.macosxautomation.com/applescript/features/system-prefs.html .

Je nachdem, was Sie tun möchten, können Sie ein Skript erstellen, um Dinge zu tun wie:

$ set-setting "dock preferences" "autohide:true, magnification:false"

Verwenden Sie die Script Editor.app, um Code auszuführen und zu debuggen, falls sich die Eigenschaftsbezeichnungen in neueren macOS-Versionen geändert haben.