11 votos

Deshabilitar el requisito de contraseña de protector de pantalla desde línea de comandos

Estoy tratando de habilitar y deshabilitar el protector de pantalla requisito de contraseña desde la línea de comandos.

defaults read com.apple.screensaver

muestra una variable askForPassword establecer a 0 o 1, dependiendo de si he configurado una contraseña requisito en las 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 la contraseña, o eso pensaba yo.

Lo que me parece es que los comandos de hecho, verificación y desactive la casilla de verificación en las Preferencias del Sistema en Seguridad, pero no afectan el protector de pantalla.

Si me permiten la contraseña en las Preferencias del Sistema y, a continuación, desactivar usando el segundo predeterminados de comando de escritura, la casilla de verificación en las Preferencias del Sistema no está marcada, pero el protector de pantalla pedirá una contraseña. Sólo marcando y desmarcando la casilla de verificación en las Preferencias del Sistema puede cambiar este comportamiento ahora.

Y si puedo desactivar la contraseña en las Preferencias del Sistema y, a continuación, habilitar el uso de la primera predeterminados de comando de escritura, la casilla de verificación en las Preferencias del Sistema está activada, pero el screensave no se le pedirá una contraseña. Sólo desactivando y activando la comprobación de la casilla de verificación en el Sistema de Preferencias de los cambios en el comportamiento después.

¿Qué está pasando?

Me imagino que esta es una configuración global y que debo modificar /Library/Preferences/com.apple.screensaver en lugar del dominio de usuario. Pero en ese caso, ¿por qué hay un efecto sobre el Sistema de Preferencias de la casilla de verificación?

7voto

WeasleyWaali Puntos 6

Si usted no está obligado a utilizar los valores predeterminados de escribir puede utilizar el siguiente comando. Interactúa con el sistema operativo de la misma, como si usted fuera a utilizar las Preferencias del Sistema.

PRUEBA EN:

  • 10.5.x
  • 10.6.x
  • 10.7.x
  • 10.8.x
  • 10.9.x

sudo osascript -e 'tell application "System Events" to set require password to wake of security preferences to false'

NOTA: Si el comando se ejecuta dentro de una secuencia de comandos que se le ha dado privilegios de root no sería necesario el uso de sudo.

osascript -e 'tell application "System Events" to set require password to wake of security preferences to false'

3voto

Sally Puntos 120

Se topó con un problema similar y encontrar una solución de usuario Guillaume en este post del Foro. Básicamente, usted necesita a fuerza el protector de pantalla para releer la preferencia de requisito de contraseña, que se puede hacer con un programa en C:

#include <CoreFoundation/CoreFoundation.h>

int main(int argc, char ** argv)
{
    CFMessagePortRef port = CFMessagePortCreateRemote(NULL, CFSTR("com.apple.loginwindow.notify"));
    CFMessagePortSendRequest(port, 500, 0, 0, 0, 0, 0);
    CFRelease(port);
    return 0;
}

Y compilar con:

cc -o /tmp/anywhereyouwantit/notif notif.c -framework CoreFoundation

Entonces llame a este programa inmediatamente después de su llamada adefaults write

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X