Bearbeiten der Systemeinstellungen über das Terminal


11

Ich möchte die Einstellungen für die Systemeinstellungen über die Befehlszeile bearbeiten, kann aber für mein Leben nicht die richtigen Namen von Variablen finden.

In den Anmeldeoptionen unter Benutzer und Gruppen möchte ich das Anmeldefenster anzeigen von der Benutzerliste in "Name und Kennwort" ändern können.
In Datum & Uhrzeit möchte ich wissen, wie ich die Uhrzeit auf einen von uns verwendeten Server ändere. Aktivieren Sie Felder in den Einstellungen für die Freigabe des Energiesparmodus

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 Sie hinzufügen oder die bevorzugten Namenskonventionen finden müssen.

Vielen Dank.


1
Haben Sie es geschafft, die Anmeldeoptionen zu konfigurieren?

Antworten:


20

Zunächst können Sie eine Website besuchen, auf der viele dieser Dinge aufgelistet sind: http://secrets.blacktree.com/

Ich habe jedoch nur eine Brute-Force-Lösung gewählt:

Kopieren Sie den Ordner "Einstellungen"

$ cp -r /Library/Preferences before

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

Kopieren Sie den Ordner "Einstellungen" erneut:

$ cp -r /Library/Preferences after

Sehen Sie, welche Dateien geändert wurden:

$ 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 diese zum Vergleich in XML konvertieren. Ich benutze 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>

Zu diesem Zeitpunkt 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, dass sie geändert wurden.


7

sudo opensnoop -n cfprefsdZeigt an, 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).


opensnoopdruckt unter macOS 10.12.1 nur Fehlermeldungen; zuerst dtrace: system integrity protection is on, some features will not be availableeine 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
ssc

1

Sie können AppleScript verwenden, um viele der 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 wie zu tun

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

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.