Modifica delle preferenze di sistema tramite Terminale

11

Sto cercando di modificare le impostazioni delle preferenze di sistema tramite la riga di comando, ma non riesco a trovare per me la vita dei nomi corretti delle variabili.

In Login Options under Users & Groups, I would like to be able to change the Display login window from list of users to 'name and password'.
In Date & Time, I would like to know how I change the time to a server we use. Enable fields in Sharing Setup Energy Saver settings

Sarebbe bello se qualcuno potesse darmi una mano o indicarmi la giusta direzione, poiché so che modifichi le preferenze. ma che sappia cosa aggiungere o trovare le convenzioni di denominazione preferite.

Grazie.

    
posta Sinergi 23.01.2013 - 16:52
fonte

3 risposte

20

Innanzitutto, puoi consultare un sito Web che elenca molte di queste cose: link

I, tuttavia, ho appena preso una soluzione a forza bruta:

Copia la cartella delle preferenze

$ cp -r /Library/Preferences before

Avvia le Preferenze di Sistema. Apportare una modifica tramite la GUI. Probabilmente è meglio fare un cambiamento alla volta,   per esempio. Ho cambiato "Visualizza la finestra di login come:"        da "Elenco utenti"        a "Nome e password". Esci da Preferenze di sistema.

Copia nuovamente la cartella delle preferenze:

$ cp -r /Library/Preferences after

Guarda quali file sono stati modificati:

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

Confronta le due versioni. Poiché si tratta di file binari, è necessario convertirli in XML per il confronto. Io uso un alias per questo:

$ 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>

A questo punto abbiamo individuato l'impostazione. Conferma di averlo con 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

Avvia le Preferenze di Sistema e conferma la modifica.

    
risposta data 23.01.2013 - 17:49
fonte
7

sudo opensnoop -n cfprefsd mostra a quali elenchi di proprietà si sta accedendo. Puoi anche ordinare i file delle preferenze in base alla data di modifica: ls -t {~,}/Library/Preferences/{ByHost,} .

Per le preferenze nel dominio utente, puoi anche eseguire defaults read > temp , modificare alcune preferenze ed eseguire diff temp <(defaults read) .

    
risposta data 23.01.2013 - 18:00
fonte
0

Puoi usare AppleScript per controllare molte delle proprietà delle Preferenze di Sistema. Vedi link per gli esempi.

A seconda di cosa vuoi fare, puoi creare uno script per fare cose come

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

Utilizza Script Editor.app per eseguire ed eseguire il debug del codice nel caso in cui le etichette delle proprietà siano state modificate nelle versioni più recenti di macOS.

    
risposta data 01.12.2017 - 19:23
fonte

Leggi altre domande sui tag