1 votos

entrada doble contraseña a la cuenta de acceso

Tengo la Require password 4 hours after sleep ... opción Security and Privacy de Preferencias del Sistema establecido y que estoy ejecutando un script con launchd a suspender mi sesión en un momento determinado del día (véase esta cuestión para más detalles). El resultado es (cuando el intervalo de tiempo y hora específica del día se superponen) es que mi cuenta es doblemente bloqueado, uno para cada acción, que requieren la entrada de la contraseña dos veces.

Hay una forma de comprobar (por ejemplo, en un shellscript o Applescript) si o no mi cuenta ya está bloqueado antes de llamar a /System/Library/CoreServices/Menu Extras/User.menu/Contents/Resources/CGSession -suspend comando?

1voto

WeasleyWaali Puntos 6

La siguiente secuencia de comandos debe hacer lo que usted está necesitando.

PROBADO EN:

  • 10.6.x
  • 10.7.4

Evitar suspender comando si ya se ha llegado a tiempo de login forzados de salvapantallas.

NOTA: Cambiar la variable USER_PATH para coincidir con el usuario que desean administrar.

#!/bin/bash

USER_PATH="/Users/YOUR_USER"

ELAPSED_TIME=$(ps -eo etime,command | grep "ScreenSaverEngine.app" | grep -v "grep" | sed 's/:.*//' | awk '{print $1}')
CHOSEN_TIME=$(/usr/libexec/PlistBuddy -c "Print:askForPasswordDelay" ${USER_PATH}/Library/Preferences/com.apple.screensaver.plist | sed 's/\..*//')

if [[ ${CHOSEN_TIME} != 0 ]]; then
    if [[ ${CHOSEN_TIME} -ge 60 ]]; then
        CONVERT_TIME=$(expr ${CHOSEN_TIME} / 60)    
    elif [[ ${CHOSEN_TIME} -lt 60 ]]; then
        CONVERT_TIME="${CHOSEN_TIME}"
    fi
fi

if [[ ${ELAPSED_TIME} -lt ${CONVERT_TIME} ]]; then
    /System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend   
fi

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