Edición de las preferencias del sistema a través del terminal

11

Estoy buscando editar la configuración de preferencias del sistema a través de la línea de comandos, pero no puedo, por mi vida, encontrar los nombres correctos de variables.

  

En Opciones de inicio de sesión en Usuarios & Grupos, me gustaría poder cambiar la ventana de inicio de sesión Mostrar de la lista de usuarios a 'nombre y contraseña'.
  En Fecha & Hora, me gustaría saber cómo cambio la hora a un servidor que usamos.   Habilitar campos en Compartir   Configurar las opciones de ahorro de energía

Sería fantástico si alguien me ayudara o me indicara la dirección correcta, ya que sé que edita las listas de preferencias, pero sabe qué agregar o cómo encontrar las convenciones de nombres preferidas.

Gracias.

    
pregunta Sinergi 23.01.2013 - 16:52

3 respuestas

20

Primero que nada, puedes visitar un sitio web que enumera muchas de estas cosas: enlace

Sin embargo, acabo de tomar una solución de fuerza bruta:

Copia la carpeta de Preferencias

$ cp -r /Library/Preferences before

Inicia las Preferencias del Sistema. Hacer un cambio a través de la GUI. Probablemente es mejor hacer un cambio a la vez,   p.ej. Cambié "Mostrar ventana de inicio de sesión como:"        de "Lista de usuarios"        a "Nombre y contraseña". Salir de las preferencias del sistema.

Copia la carpeta de Preferencias de nuevo:

$ cp -r /Library/Preferences after

Ver qué archivos han cambiado:

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

Compara las dos versiones. Como son archivos binarios, deberás convertirlos a XML para compararlos. Yo uso un alias para esto:

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

En este punto hemos localizado el ajuste. Confirma que lo tenemos 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

Inicia las Preferencias del Sistema y confirma que ha cambiado.

    
respondido por el Noach 23.01.2013 - 17:49
7

sudo opensnoop -n cfprefsd muestra a qué listas de propiedades se está accediendo. También puede simplemente ordenar los archivos de preferencias por fecha de modificación: ls -t {~,}/Library/Preferences/{ByHost,} .

Para las preferencias en el dominio de usuario, también puede ejecutar defaults read > temp , cambiar algunas preferencias y ejecutar diff temp <(defaults read) .

    
respondido por el user495470 23.01.2013 - 18:00
0

Puede usar AppleScript para controlar muchas de las propiedades de Preferencias del sistema. Consulte enlace para ver ejemplos.

Dependiendo de lo que quieras hacer, puedes crear una secuencia de comandos para hacer cosas como

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

Use Script Editor.app para ejecutar y depurar código en caso de que las etiquetas de propiedad hayan cambiado en las versiones más nuevas de macOS.

    
respondido por el Mark 01.12.2017 - 19:23

Lea otras preguntas en las etiquetas