19 votes

Modification des préférences du système via le terminal

Je cherche à modifier les paramètres des préférences système via la ligne de commande, mais je ne parviens pas à trouver les noms corrects des variables.

Dans les options de connexion sous Utilisateurs et groupes, j'aimerais pouvoir changer l'affichage de la fenêtre de connexion de la liste des utilisateurs à 'nom et mot de passe'.
Dans Date et heure, je voudrais savoir comment changer l'heure d'un serveur que nous utilisons. Activer les champs dans Partage Configurer les paramètres de l'économiseur d'énergie

Je sais qu'il faut modifier le fichier .plists des préférences, mais je ne sais pas quoi ajouter ou trouver les conventions de dénomination préférées.

Merci.

28voto

Noach Points 321

Tout d'abord, vous pouvez consulter un site web qui répertorie un grand nombre de ces éléments : http://secrets.blacktree.com/

Moi, par contre, j'ai juste pris une solution de force brute :

Copiez le dossier Préférences

$ cp -r /Library/Preferences before

Lancez les Préférences Système. Effectuez une modification via l'interface graphique. Il est probablement préférable d'effectuer une seule modification à la fois, par exemple, j'ai changé "Afficher la fenêtre de connexion comme :" de "Liste des utilisateurs" en "Nom et mot de passe". Quittez les Préférences Système.

Copiez à nouveau le dossier Préférences :

$ cp -r /Library/Preferences after

Voir quels fichiers ont été modifiés :

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

Comparez les deux versions. Comme il s'agit de fichiers binaires, vous devrez les convertir en XML pour les comparer. J'utilise un alias pour cela :

$ 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 ce stade, nous avons localisé le paramètre. Confirmez que nous l'avons avec 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

Lancez les Préférences Système et confirmez la modification.

11voto

sudo opensnoop -n cfprefsd montre quelles sont les listes de propriétés auxquelles on accède. Vous pouvez aussi simplement trier les fichiers de préférences par date de modification : ls -t {~,}/Library/Preferences/{ByHost,} .

Pour les préférences dans le domaine utilisateur, vous pouvez également exécuter defaults read > temp modifiez certaines préférences, et lancez diff temp <(defaults read) .

1voto

Mark Points 46

Vous pouvez utiliser AppleScript pour contrôler de nombreuses propriétés des Préférences Système. Voir https://www.macosxautomation.com/applescript/features/system-prefs.html par exemple.

Selon ce que vous voulez faire, vous pouvez créer un script pour faire des choses comme

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

Utilisez le script Editor.app pour exécuter et déboguer le code au cas où les étiquettes des propriétés ont changé dans les versions plus récentes de MacOS.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X