Estoy tratando de habilitar y deshabilitar el requisito de contraseña del protector de pantalla desde la línea de comandos.
defaults read com.apple.screensaver
muestra una variable askForPassword establecida en 0 o 1, dependiendo de si configuré un requisito de contraseña en Preferencias del sistema o no.
defaults write com.apple.screensaver askForPassword 1
y
defaults write com.apple.screensaver askForPassword 0
habilitar y deshabilitar la configuración de contraseña, o eso pensé.
Lo que encuentro en cambio es que los comandos de hecho marcan y desmarcan la casilla de verificación en Preferencias del sistema en Seguridad, pero no afectan en absoluto al protector de pantalla.
Si habilito la contraseña en Preferencias del sistema y luego la desactivo usando el segundo comando de escritura predeterminado, la casilla de verificación en Preferencias del sistema no está marcada, pero el protector de pantalla aún solicitará una contraseña. Solo marcar y desmarcar la casilla de verificación en Preferencias del sistema puede cambiar este comportamiento ahora.
Y si desactivo la contraseña en Preferencias del Sistema y luego la habilito usando el primer comando de escritura predeterminado, la casilla de verificación en Preferencias del Sistema está marcada, pero el protector de pantalla no solicitará una contraseña. Solo desmarcar y marcar la casilla de verificación en Preferencias del Sistema cambia el comportamiento después.
¿Que esta pasando?
Puedo imaginar que esta es una configuración global y debería modificar en /Library/Preferences/com.apple.screensaver
lugar del dominio del usuario. Pero en ese caso, ¿por qué hay un efecto en la casilla de verificación Preferencias del sistema?
fuente
Respuestas:
Si no está obligado a utilizar los valores predeterminados de escritura , puede utilizar el siguiente comando. Interactúa con el sistema operativo de la misma manera que si utilizara las Preferencias del sistema.
Probado en:
NOTA: Si el comando se ejecuta dentro de un script al que se le han otorgado privilegios de root, no necesitaría el sudo .
fuente
Me encontré con un problema similar y encontré una solución del usuario Guillaume en esta publicación del foro . Básicamente, debe forzar al protector de pantalla para que vuelva a leer la preferencia de requisito de contraseña, lo que puede hacer con un programa en C:
Y compile esto con:
Luego llame a este programa inmediatamente después de su llamada a
defaults write
fuente