Lock Screen Command One-Liner

Estoy tratando de averiguar si hay algún tipo de línea de command equivalente a un trazador de líneas que reproduzca la funcionalidad exactamente idéntica de la opción de menu 'Pantalla de locking' disponible a través de la aplicación Keychain en OS X 10.6

Soy consciente de todas las soluciones 'habituales' (las preferences de sleep / screensaver para requerir una contraseña en la reactivación) pero estas no son adecuadas para mí.

  • Intentando actualizar a macOS sierra desde OS X 10.8.5
  • ¿Cómo puedo hacer las tabs de acceso directo de Safari cmd + número en lugar de abrir el marcador asociado con ese número?
  • Recuerde los tamaños de window y la location cuando desenchufa y vuelve a conectar el segundo monitor
  • ¿Diccionario de español a inglés en la aplicación de dictionary de Mac?
  • ¿Cómo puedo agregar soporte para files .flac en SoX?
  • ¿Cuál es el propósito de ~ / Library / Containers?
  • 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", pero aún no he encontrado una forma elegante de llamarlo.

    Por el momento, estoy llamando a través de Automator, ¡que no es elegante!

    He leído mucho sobre este tema y tengo entendido que nadie ha encontrado todavía el "santo grial", pero me preguntaba si eso podría haber cambiado.

  • Gran cantidad inexplicable de ciclos de batería MacBook
  • ¿Cómo puedo desactivar el segundo disco duro en mi 27 "iMac?
  • Los numbers llenan el color
  • Problema de versión anterior de OS X Internet Recovery
  • Llamar a una aplicación desde la terminal a través de una secuencia de commands
  • ¿Cómo puedo search fotos en iPhone en Mac OSX?
  • 17 Solutions collect form web for “Lock Screen Command One-Liner”

    Nota: Esta solución es única ya que utiliza la funcionalidad de estado de la barra de menu de Acceso a Llaveros, pero no requiere que active el Show keychain status in menu bar como lo hacen los methods de AppleScript.

    También estaba buscando una solución para esto. Hoy tuve algo de time para jugar y encontré la manera de llamar la funcionalidad del complemento del menu de llavero. Esta solución funciona perfectamente siempre que Apple no cambie las partes relevantes en el complemento del menu de llavero. Puedes crear un pequeño binary para bloquear tu pantalla pegándola en tu terminal …

     # Do our work in the temporary directory that gets cleaned on boot cd /tmp # Create the source file cat > main.m <<END_OF_FILE #import <objc/runtime.h> #import <Foundation/Foundation.h> int main () { NSBundle *bundle = [NSBundle bundleWithPath:@"/Applications/Utilities/Keychain Access.app/Contents/Resources/Keychain.menu"]; Class principalClass = [bundle principalClass]; id instance = [[principalClass alloc] init]; [instance performSelector:@selector(_lockScreenMenuHit:) withObject:nil]; return 0; } END_OF_FILE # Compile the source file clang -framework Foundation main.m -o lockscreen 

    Ejecute el progtwig escribiendo:

     ./lockscreen 

    En OS X 10.9 y posterior:

     pmset displaysleepnow 

    Fuente: ¿Cómo bloquear la pantalla en MacBook Air?

    Yo uso Alfnetworking →

    enter image description here

    La tecla de acceso directo universal me permite activarlo usando un keyboard.

    La respuesta de @Bart Arondson entra en el uso de algunos códigos de tecla para navegar por el menu de Pantalla de locking de llavero.

    Todos los códigos de las teclas se pueden pasar por alto mediante el uso de GUI Scripting para pulsar directamente los elementos del menu.

    El uso de códigos de tecla para navegar por los menus puede ser random. Y a pesar de que no me gustan las secuencias de commands GUI porque también puede ser random, en este caso es less impnetworkingecible.

    Este código de AppleScript: (actualizado el 18/05/2016, extraído de Usar AppleScript para bloquear la pantalla , confirmó que se está trabajando en El Capitan)

     tell application "System Events" to tell process "SystemUIServer" tell (menu bar item 1 of menu bar 1 where description is "Keychain menu extra") click click menu item "Lock Screen" of menu 1 end tell end tell 

    Se puede usar en una acción de Automator 'Ejecutar Applescript' en un flujo de trabajo de service de Automator.

    enter image description here

    Luego le das al service un atajo de Teclado. De la forma habitual en Los atajos de keyboard.

    enter image description here

    El service:

    enter image description here

    Configure las preferences para bloquear la pantalla cuando el protector de pantalla esté activo.

    Panel de preferencias de seguridad y privacidad

    Luego puede usar este command 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 menu Llavero.

    Creo que la respuesta a su pregunta es "No, no hay una forma de command-line para hacer esto".

    Debido a que este es un elemento de la barra de menu, no es algo a lo que pueda acceder fácilmente usando Keyboard Maestro u otra herramienta similar.

    Sin embargo, si no te opones a una solución que utiliza una aplicación de terceros, QuickLock te permitirá hacerlo.

    Es una aplicación gratuita (se aceptan donaciones) que te permitirá asignar un atajo de keyboard para bloquear la pantalla. También hay un elemento de barra de menus en el que puede hacer clic para bloquear la pantalla.

    La aplicación te permitirá establecer una contraseña (separada de la contraseña de tu count).

    No requiere el uso de contraseña con salvapantallas, todo está completamente separado.

    Puede ver un video de esto 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 escribe la contraseña.

    pps Solo he usado esto por unos minutos, por lo que puede que haya otros problemas que desconozco, pero parece que encajan.

    La Mac no está diseñada para brindarte esa opción. Sin embargo, este artículo explica una solución con QuickSilver. Aunque no puedo entender por qué no te gusta la solución que Apple proporciona de forma nativa, te deseo suerte para encontrar una solución.

    Usé el código publicado arriba por jnk. Luego usé appify para convertirlo en una aplicación OS X, mathiasbynens.be/notes/shell-script-mac-apps . Luego usé Quicksilver para asignar mi propio atajo de keyboard (elegí cmd + L). El terminal no se abre / permanece abierto (como algunos estaban preocupados) con cómo lo tengo configurado porque en su lugar estoy lanzando una aplicación OS X.

    1. Sigue la respuesta anterior mediante jnk, Lock Screen Command One-Liner
    2. Use appify para convertirlo en una aplicación OS X siguiendo el enlace de arriba en mi resumen.
    3. Instala Quicksilver.
    4. Use Quicksilver para asignar un atajo de keyboard para iniciar la nueva aplicación. Está bajo 'Disparadores'. Disfruto de Quicksilver porque me encanta tener atajos de keyboard / atajos de keyboard para iniciar aplicaciones y sitios web en OS X.

    Una forma rápida de dormir su máquina a través de la command-line con la ayuda de AppleScript es

     osascript -e 'tell application "Finder" to sleep' 

    Eso no bloquea su pantalla a less que tenga configurado para requerir una contraseña de inmediato que no me gusta hacer. Solo lo estoy anotando para la posteridad.

    También encontré 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 path correcto, aquí está la function completa que uso:

     lockscr() { if [ "$(defaults read com.apple.screensaver askForPasswordDelay 2>/dev/null)" ]; then local Olddelay="$(defaults read com.apple.screensaver askForPasswordDelay)" defaults write com.apple.screensaver askForPasswordDelay -int 0 && \ pmset displaysleepnow defaults write com.apple.screensaver askForPasswordDelay -int "${Olddelay}" else defaults write com.apple.screensaver askForPasswordDelay -int 0 && \ pmset displaysleepnow defaults delete com.apple.screensaver askForPasswordDelay fi; } 

    Esto preserva al usuario su propia configuration pero bloquea de forma segura la pantalla 🙂

    Yo uso BetterTouchTool para ese propósito y le asigné un atajo de keyboard para "Cambiar a la pantalla de inicio de session" (que es la pantalla de locking): no cumple con el requisito de la command-line, pero puede ser útil para usted de todos modos.

    atajo de teclado en BetterTouchTool para bloquear la pantalla

    No estoy seguro de entender su problema aquí. Si necesita una contraseña en el protector de pantalla, no impedirá que los processs se ejecuten o le impedirá acceder remotamente a su Mac. Tengo esta opción configurada (usando ControlPlane para activarlo en el trabajo y desactivarlo en mi casa) y nunca antes el sistema se ha negado a responder a una connection de escritorio remoto, VNC o SSH. En todos los casos donde se requiere acceso a la GUI solo necesito ingresar la contraseña; SSH usa par de keys por lo que no se solicita contraseña. Si no desea que las aplicaciones duerman, asegúrese de que la configuration de energía del sistema sea tal que no ingrese al sistema de suspensión antes de regresar. Simplemente configure el time de espera de espera con una gran demora. Si simplemente no desea tener la molestia de ingresar una contraseña cuando está sentado frente a la computadora y trabajando, aumente la demora del protector de pantalla antes de que se active o agregue un retraso de 1 minuto entre el protector de pantalla y la contraseña. para que tengas la oportunidad de atraparlo antes de que te bloquee.

    Yo uso ctrl-shift-expulsar para bloquear la pantalla. Es rápido, simple y funciona. Esta es la forma integrada para bloquear la pantalla. Nadie es capaz de encontrar una alternativa simplemente porque duplicar las funciones ya integradas en el sistema operativo es un poco demasiado networkingundante para que cualquiera pueda dedicarle mucho time.

    Por lo que puedo decir, no hay ninguna opción de "locking de pantalla" en Keychain en 10.8, por lo que su solución preferida no existirá si alguna vez se actualiza. Editar: no noté esto en las preferences de Keychain; 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 tecla de acceso directo o dejarlo en el Dock para un acceso rápido?

    Al igual que la persona que preguntaba buscaba una manera de usar la pantalla de locking de Llaveros de una manera rápida.

    Combinando el conocimiento de una antigua sugerencia de Mac OS X y algunas Applescripting se me ocurrió lo siguiente:

    En primer lugar, siga los pasos de la sugerencia vinculada de Mac OS X para agregar un atajo de keyboard para la funcionalidad de la pantalla de locking de Llaveros.

    Para mí (en 10.8.4) esto no resolvió el problema ya que tuve que presionar ctrl + F8 para cambiar el foco a la barra de estado, presionar hacia abajo para abrir la barra de menu de Llavero, y luego presionar ctrl + F9 para bloquear la pantalla . He automatizado este process con el siguiente Applescript:

     # Press ^F8 tell application "System Events" key code 100 using control down end tell # Press "down" tell application "System Events" key code 125 end tell # Press ^F9 tell application "System Events" key code 101 using control down end tell 

    Abra Automator, cree un nuevo service, agregue un module Run Applescript , copie y pegue el código anterior y guarde el service Automator con el nombre que desee. Ahora vaya a Atajos de keyboard en las Preferences del sistema y agregue un atajo de keyboard para el Servicio Automator recién creado. Establecí el mío en ctrl + cmd + L.

    Ahora presione el atajo de keyboard en cualquier aplicación y su pantalla se bloqueará al instante.

    Para aquellos que se preguntan por qué no solo usan otros methods, aquí está mi opinión sobre ellos:

    • Cambio rápido de usuario / pantalla de locking
      Con este método, me desconecto de mi networking corporativa WPA2. Esto no es bueno ya que la reconnection a veces lleva años.

    • Salvapantallas + contraseña
      Replica la funcionalidad, pero esto significa que si mi computadora portátil está inactiva durante un time mientras estoy leyendo un documento al lado, la pantalla se bloqueará cuando quiera volver a utilizarla. Esto es indeseable Acoplamiento de este método con una esquina caliente tiene el efecto secundario de que los usuarios inexpertos de Mac podrían desencadenar el hot-corner por crash, lo que llevaría al locking de la pantalla. También a veces llegué a un rincón caliente por crash, lo que atascaría considerablemente mi flujo de trabajo.

    • Aplicaciones de terceros
      Todo está bien, pero ¿por qué ejecutar una aplicación de tercera parte si está disponible de forma nativa en el sistema operativo?

    Utilizo la configuration de contraseña de Screensaver con una pulsación de tecla (Ctrl + Shift + Eject) en 10.6.8, y por lo que puedo ver, hace lo mismo que el ítem Lock Screen del ícono de la barra de tareas de Keychain Access.

    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í es de donde la obtuve: http://osxdaily.com/2011/01/17/lock-screen-mac/

    He estado usando esto por varios años ahora sin problemas.

    Bueno, solo combine dos de las respuestas anteriores. Ejecute este command:

     open -a /System/Library/Frameworks/ScreenSaver.framework//Versions/A/Resources/ScreenSaverEngine.app 

    Después de configurar las preferences de Seguridad y privacidad para solicitar una contraseña de inmediato. Cree un alias para su shell si desea que el command sea más fácil de ejecutar.

    FWIW, entiendo su situación y he estado buscando una buena solución para esto yo mismo. Me encontré con este hilo porque he estado buscando un método algo más rápido que el que finalmente se me ocurrió. Se me ocurrió algo que, aunque no era exactamente lo que esperaba, funciona y es un compromiso aceptable. Estoy utilizando el mismo tipo de commands de guiones GUI que @markhunte muestra (estructura ligeramente diferente, pero la misma idea) pero en lugar de simplemente colocar todo en un flujo de trabajo de service de Automator, lo separé en un package .app construido con Platypus. Lo hice porque en mis viajes y testings descubrí que los services de Automator funcionan muy lentamente bajo ciertas condiciones. Si su Mac se encuentra bajo algún tipo de estrés, es decir, si se está ejecutando un escaneo de disco, el software A / V está haciendo algo, Mail tirando del correo electrónico, etc., el sistema operativo parece llevar los services al final de la línea. Esto tiene el efecto de tomar varios segundos antes de que el flujo de trabajo se ejecute (a veces) y, en ocasiones, incluso varios segundos antes de que se ejecuten los commands de la GUI en el service. ¡Muy molesto si estás intentando "cerrar" rápidamente tu pantalla y tarda 10 segundos en hacerlo!

    Tener una "aplicación" independiente también tiene la ventaja de que puedes usar literalmente docenas de aplicaciones de terceros diferentes para ejecutarlo, o simplemente usar Spotlight o un service de Automator para iniciar la aplicación. Cualquiera de ellos funciona Lo más rápido que he encontrado es una utilidad antigua llamada Spark, que milagrosamente todavía funciona en 10.8.4. ¡No me pregunten cómo fue 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 commands 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 locking. Por lo general, el locking ocurre inmediatamente después, pero si hay un retraso, al less da algunos "comentarios" visuales de que presionó las teclas correctas. También lo hice autocuración: si "Habilitar acceso a dispositivos de asistencia" no está activado, lo alerta con un cuadro de dialog y le permite habilitarlo de inmediato. También se asegurará de que el Menú de Acceso a Llaveros se muestre en la barra de menu, ya que este es un requisito o falla el guion de la GUI.

    CtrlMayús⏏ Expulsar (en Mac antiguas),
    CtrlShift⌽ Power (en los nuevos Macs)

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).