Estoy tratando de averiguar si hay algún tipo de línea de comando equivalente que reproduzca la funcionalidad idéntica exacta de la opción de menú 'Bloquear pantalla' disponible a través de la aplicación Keychain en OS X 10.6
Conozco todas las soluciones 'habituales' (preferencias de suspensión / protector de pantalla para requerir una contraseña en la reactivación), pero estas no son adecuadas para mí.
También estoy al tanto de esta opción:
/System/Library/CoreServices/Menu\ Extras/user.menu/Contents/Resources/CGSession -suspend
que tampoco es adecuado para mí
La funcionalidad perfecta es la opción 'Bloquear pantalla', sin embargo, aún no he encontrado una forma elegante de llamarlo.
En este momento, estoy llamando a través de Automator, ¡lo cual no es elegante!
He leído mucho sobre este tema y entiendo que nadie ha encontrado aún el 'santo grial', pero me preguntaba si eso podría haber cambiado.
fuente
Respuestas:
En OS X 10.9 y posterior:
Por sí solo, este comando solo hace que la pantalla se suspenda, lo que resulta en una pantalla negra. Al configurar su computadora para que requiera una contraseña inmediatamente después de dormir, esta línea única funciona como un comando "bloquear computadora". La preferencia está disponible en Preferencias del sistema> Seguridad y privacidad> General .
Fuente: ¿Cómo bloquear la pantalla en MacBook Air?
fuente
Nota: Esta solución es única en el sentido de que utiliza la funcionalidad de estado de la barra de menú de Acceso al llavero, pero no requiere que habilite la
Show keychain status in menu bar
opción como lo hacen los métodos AppleScript.También estaba buscando una solución para esto. Hoy tuve tiempo para jugar y encontré una manera de llamar programáticamente a la funcionalidad desde el complemento del menú de llavero. Esta solución funciona perfectamente siempre que Apple no cambie las partes relevantes en el complemento del menú de llavero. Puede crear un pequeño binario para bloquear su pantalla pegándolo en su terminal ...
Ejecute el programa escribiendo:
fuente
instance method '-_lockScreenMenuHit:' not found
, pero la aplicación de pantalla de bloqueo funciona de todos modos. Sin embargo, cuando se hace doble clic, abre una ventana de Terminal antes de bloquear la pantalla. Después de desbloquear, debe cerrar la ventana manualmente. ¿Hay alguna manera de cerrar esa ventana automáticamente?Yo uso Alfred →
La tecla de acceso rápido universal me permite activarla usando un teclado.
fuente
ACTUALIZACIÓN: 2019.
La pantalla de bloqueo para llavero ya no está disponible en la versión actual de MacOS Mojave y High Sierra.
Apple ahora ha agregado un elemento del menú de pantalla de bloqueo en el menú de Apple. Esto tiene el atajo de teclado predeterminado de crtl + cmd + Q
------------- Respuesta anterior para el sistema operativo anterior a continuación --------------
La respuesta de @Bart Arondson entra en el uso de algunos códigos clave para navegar por el menú de la pantalla de bloqueo de llavero.
Todos los códigos clave se pueden omitir utilizando la secuencia de comandos de la GUI para acceder directamente a los elementos del menú directamente.
El uso de códigos clave para navegar por los menús puede ser impredecible. Y por mucho que no me guste la secuencia de comandos GUI porque también puede ser impredecible, en este caso es menos impredecible.
Este código de applecript: (actualizado el 18/05/2016, derivado del uso de AppleScript para bloquear la pantalla , confirmado que trabaja en El Capitan)
Se puede usar en una acción Automator 'Ejecutar Applescript' en un flujo de trabajo de servicio de Automator.
Luego le da al servicio un atajo de teclado. De la forma habitual en Los atajos de teclado.
El servicio:
fuente
tell application "System Events" to tell process "SystemUIServer" to click (first menu bar item of menu bar 1 whose description is "Keychain menu extra") tell application "System Events" to click (menu item "Lock Screen" of menu 1 of menu bar item 1 of menu bar 1 of application process "SystemUIServer")
Establezca las preferencias para bloquear la pantalla cuando el protector de pantalla esté activo.
Luego puede usar este comando de terminal para iniciar el protector de pantalla.
/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine
Por lo que puedo decir, esto es exactamente lo que hace el elemento del menú Llavero.
fuente
Creo que la respuesta a su pregunta es "No, no hay una forma de línea de comando para hacer esto".
Debido a que este es un elemento de la barra de menú, no es algo a lo que pueda acceder fácilmente usando Keyboard Maestro u otra herramienta similar.
Sin embargo, si no es reacio a una solución que utiliza una aplicación de terceros, QuickLock le permitirá hacer esto.
Es una aplicación gratuita (se aceptan donaciones) que le permitirá asignar un atajo de teclado para bloquear la pantalla. También hay un elemento de barra de menú en el que puede hacer clic para bloquear la pantalla.
La aplicación le permitirá establecer una contraseña (separada de la contraseña de su cuenta).
No requiere el uso de contraseña con protector de pantalla, todo está completamente separado.
Puedes ver un video en acción en http://www.youtube.com/watch?v=SBHwykPB19o
ps cuando la pantalla está bloqueada, escriba su contraseña para desbloquearla. Estaba confundido porque esperaba ver un campo de contraseña. No hay ninguno. Simplemente escriba la contraseña.
pps Solo lo he usado durante unos minutos, por lo que puede haber algunos otros problemas con los que no estoy al tanto, pero parece encajar.
fuente
La Mac no está diseñada para brindarte esa opción. Sin embargo, este artículo explica una solución alternativa usando QuickSilver. Si bien no puedo entender por qué no le gusta la solución que Apple proporciona de forma nativa, le deseo suerte para encontrar una solución.
fuente
Una forma rápida de dormir su máquina a través de la línea de comandos con la ayuda de AppleScript es
Eso no bloquea su pantalla a menos que la tenga configurada para requerir una contraseña de inmediato, lo cual no me gusta hacer. Solo lo estoy señalando para la posteridad.
fuente
Alias fácil Agregue esto a su bashrc
escriba
afk
su terminal para ejecutar.fuente
Usé el código publicado anteriormente por jnk. Luego utilicé appify para convertirlo en una aplicación de OS X, mathiasbynens.be/notes/shell-script-mac-apps . Luego usé Quicksilver para asignar mi propio atajo de teclado (elegí cmd + L). El terminal no se abre / permanece abierto (como a algunos les preocupaba) con cómo lo configuré porque estoy lanzando una aplicación OS X en su lugar.
fuente
También me encontré con este problema.
/System/Library/CoreServices/Menu\ Extras/user.menu/Contents/Resources/CGSession -suspend
hace que el sistema suspenda todas las tareas, en lugar de bloquear la pantalla.JordanBtucker estaba en el camino correcto, aquí está la función completa que uso:
Esto conserva al usuario su propia configuración pero bloquea de forma segura la pantalla :)
fuente
defaults write com.apple.screensaver askForPassword -bool TRUE
ydefaults write com.apple.screensaver askForPasswordDelay -int 10
Estos son mis valores predeterminados. Ahora el script anterior se comportará como se describe.Utilizo BetterTouchTool para ese propósito y le asigné un atajo de teclado para "Cambiar a la pantalla de inicio de sesión" (que es la pantalla de bloqueo): no cumple con el requisito de la línea de comandos, pero puede ser útil para usted de todos modos.
fuente
No estoy seguro de entender tu problema aquí. Si necesita una contraseña en el protector de pantalla, no detendrá la ejecución de los procesos ni le impedirá acceder de forma remota a su Mac. Tengo esta opción configurada (usando ControlPlane para activarlo en el trabajo y desactivarlo en casa) y nunca he tenido una vez que el sistema se niegue a responder a una conexión de Escritorio remoto, VNC o SSH. En todos los casos donde se requiere acceso a la GUI solo necesito ingresar la contraseña; SSH utiliza un par de claves, por lo que no se solicita contraseña. Si no desea que las aplicaciones se suspendan, asegúrese de que la configuración de energía del sistema sea tal que no ingrese al sistema antes de que regrese. Simplemente configure el tiempo de espera de espera en un largo retraso. Si simplemente no desea que se le moleste ingresar una contraseña cuando está sentado frente a la computadora y trabajando,
Yo uso ctrl-shift-eject para bloquear la pantalla. Es rápido, simple y funciona. Esta es la forma integrada de bloquear la pantalla. Es probable que nadie presente una alternativa simplemente porque replicar las funciones ya integradas en el sistema operativo es demasiado redundante para que alguien pueda dedicarle mucho tiempo.
Por lo que puedo decir, de todos modos no hay una opción de "pantalla de bloqueo" en Keychain en 10.8, por lo que su solución preferida no existirá si alguna vez actualiza.Editar: no me di cuenta de esto en las preferencias de llavero; Sí, todavía está allí en 10.8.Si está utilizando Automator para esto, ¿no puede simplemente empaquetar el script como una aplicación y asignar un combo de teclas rápidas o dejarlo en el Dock para un acceso rápido?
fuente
Al igual que el que hacía la pregunta, estaba buscando una manera de usar la pantalla de bloqueo de llaveros de una manera rápida.
Combinando el conocimiento de una vieja pista de Mac OS X y algunas secuencias de comandos, se me ocurrió lo siguiente:
Primero, siga los pasos de la sugerencia vinculada de Mac OS X para agregar un atajo de teclado para la funcionalidad de la pantalla de bloqueo de llaveros.
Para mí (en 10.8.4) esto no resolvió el problema, ya que tuve que presionar ctrl+ F8para cambiar el foco a la barra de estado, presionar downpara abrir la barra de menú Llavero y luego presionar ctrl+ F9para bloquear la pantalla. He automatizado este proceso con el siguiente Applescript:
Abra Automator, cree un nuevo Servicio, agregue un
Run Applescript
módulo, copie y pegue el código anterior y guarde el Servicio de Automator con el nombre que desee. Ahora vaya a Atajos de teclado en las Preferencias del sistema y agregue un atajo de teclado para el Servicio Automator recién creado. Puse el mío en ctrl+ cmd+ L.Ahora presione el atajo de teclado en cualquier aplicación y su pantalla se bloqueará instantáneamente.
Para aquellos que se preguntan por qué no simplemente seguir con otros métodos, aquí está mi opinión sobre ellos:
Cambio rápido de usuario / pantalla de bloqueo
Con este método me desconecto de mi red corporativa WPA2. Esto no es bueno ya que la reconexión a veces lleva años.
Salvapantallas + contraseña
Replica la funcionalidad, pero esto significa que si mi computadora portátil está inactiva durante algún tiempo mientras leo un documento al lado, la pantalla se bloqueará cuando quiera volver a usarla. Esto no es deseable. La combinación de este método con una esquina activa tiene el efecto secundario de que los usuarios inexpertos de Mac pueden activar la esquina activa por accidente y provocar el bloqueo de pantalla. También a veces llego a una esquina caliente por accidente, lo que paralizaría considerablemente mi flujo de trabajo.
Aplicaciones de terceros
Estas están bien, pero ¿por qué ejecutar una aplicación de terceros si está disponible de forma nativa en el sistema operativo?
fuente
En 10.14.6 Mojave, en su lugar, inicio el motor del protector de pantalla usando este comando:
/System/Library/CoreServices/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine
fuente
Utilizo la configuración de contraseña del protector de pantalla con una pulsación de tecla (Ctrl + Shift + Eject) en 10.6.8, y por lo que puedo ver, hace lo mismo que el elemento de la pantalla de bloqueo desde el icono de la barra de tareas de acceso de llavero.
Sé que esto es similar a algunas de las otras respuestas, pero en lugar de la "esquina caliente", utiliza una pulsación de tecla, que es más conveniente para mí.
Esta solución se describe con más detalle aquí, de ahí la obtuve: http://osxdaily.com/2011/01/17/lock-screen-mac/
He estado usando esto durante varios años ahora sin problemas.
fuente
Bueno, solo combina dos de las respuestas anteriores. Ejecute este comando:
Después de haber configurado las preferencias de Seguridad y Privacidad para solicitar una contraseña de inmediato. Cree un alias para su shell si desea que el comando sea más fácil de ejecutar.
fuente
FWIW, entiendo su situación y he estado buscando una buena solución para esto. Me encontré con este hilo porque he estado buscando un método algo más rápido de lo que finalmente se me ocurrió. Se me ocurrió algo que, aunque no es exactamente lo que esperaba, funciona y es un compromiso aceptable. Estoy usando el mismo tipo de comandos de secuencias de comandos GUI que muestra @markhunte (estructura ligeramente diferente, pero la misma idea) pero en lugar de colocarlo todo en un flujo de trabajo de servicio de Automator, lo separé en un paquete .app construido con Platypus. Hice esto porque en mis viajes y pruebas descubrí que los servicios de Automator funcionan muy lentamente bajo ciertas condiciones. Si su Mac está bajo algún tipo de estrés, es decir, un escaneo de disco en ejecución, software de A / V haciendo algo, correo desplegando correo electrónico, etc. el sistema operativo parece empujar los servicios al final de la línea. Esto tiene el efecto de que demore varios segundos antes de que se ejecute el flujo de trabajo (a veces) y, en ocasiones, incluso varios segundos antes de que se ejecuten los comandos de la GUI en el servicio. Bastante molesto si usted está tratando de bloquear "rápidamente" su pantalla y ¡tarda 10 segundos en hacerlo!
Tener una "aplicación" independiente también tiene la ventaja de que puedes usar literalmente docenas de diferentes aplicaciones de terceros para ejecutarla, o simplemente usar Spotlight o un servicio de Automator para iniciar la aplicación. Cualquiera de ellos funciona. Lo más rápido que he encontrado es una antigua utilidad llamada Spark, que milagrosamente funciona incluso en 10.8.4. ¡No me pregunten cómo desde la última vez que se desarrolló el enemigo 10.4! Spark se puede encontrar aquí - Spark
Además de todo esto, combatí el problema de los comandos de la GUI que a veces se ejecutan lentamente agrupando en cocoaDialog y llamándolo primero cuando la aplicación se ejecuta para mostrar una pequeña burbuja flotante en el medio de la pantalla que indica que está ocurriendo una pantalla de bloqueo. Por lo general, el bloqueo se produce justo después, pero si hay un retraso, esto al menos da una "retroalimentación" visual de que presionó las teclas correctas. También lo hice de autocuración: si "Habilitar acceso a dispositivos de asistencia" no está activado, le alerta con un cuadro de diálogo y le permite habilitarlo de inmediato. También se asegurará de que el menú de acceso al llavero se muestre en la barra de menú, ya que es un requisito o la secuencia de comandos de la GUI falla.
fuente
Ctrl- Shift- ⏏ Eject(en equipos Mac más antiguos),
Ctrl- Shift- ⌽ Power(en equipos Mac más nuevos)
fuente