31 votos

Cómo desbloquear un Mac que ha sido bloqueado con el bloqueo de pantalla "cortina" de Apple Remote Desktop

Apple Remote Desktop tiene una función de "cortina" que un cliente remoto puede utilizar para bloquear la pantalla del Mac que está siendo controlado remotamente. Yo lo utilizo cuando me conecto a mi Mac del trabajo desde mi Mac de casa. La pantalla de mi Mac del trabajo muestra un gran icono de bloqueo y un mensaje mientras lo controlo remotamente desde mi Mac de casa usando Apple Remote Desktop (ARD).

Desgraciadamente, hay un error de algún tipo que hace que la pantalla del Mac remoto se quede bloqueada, incluso después de haberme desconectado de él. (La última versión de ARD y OS X 10.8.2 en ambas máquinas.) Cuando esto ocurre, al día siguiente llego al trabajo y me encuentro con el gran icono de bloqueo y un mensaje en la pantalla de mi Mac. A pesar de estar ahora físicamente presente frente al Mac, no encuentro la forma de desbloquear la pantalla.

Suelo intentar ssh -entrando en el Mac desde otra máquina y matando procesos. He probado a matar el ARDAgent el proceso de bloqueo de pantalla (no recuerdo el nombre), y cualquier otra cosa que pueda encontrar con "ard" o "remoto" en el nombre del proceso. Ninguna de estas cosas parece desbloquear la pantalla. Finalmente, recurro a usar osascript -e ... para decirle a todas mis aplicaciones en ejecución que salgan con gracia, entonces ejecuto shutdown -r now para reiniciar la máquina.

Mi pregunta: ¿hay alguna forma de desbloquear con éxito un Mac que está atascado en la pantalla de bloqueo ARD, utilizando ssh ¿o no?


Una forma de reproducirlo: Inicie la sesión en el Mac de destino con Remote Desktop, inicie el modo Cortina y, después de terminar cualquier trabajo que se haya realizado, cierre la sesión del usuario en el Mac de destino mientras sigue en el modo Cortina. Esto dejará el Mac inaccesible para la aplicación de Escritorio Remoto e incluso para un usuario físico del ordenador, con el gran icono de bloqueo todavía en la pantalla del Mac de destino.

No estoy seguro de lo que estoy haciendo para desencadenar esta situación, pero definitivamente no estoy cerrando la sesión. De cualquier manera, parece que la solución debería ser la misma.

1 votos

Sin responder directamente a su pregunta: ¿Hay alguna razón específica por la que usted está utilizando ARD en lugar de compartir la pantalla?

1 votos

Estoy usando ARD porque Screen Sharing no tiene esta función de "cortina", y no quiero que la gente en el trabajo pueda ver y acceder a mi Mac cuando no estoy allí.

0 votos

Habría sugerido utilizar la pantalla compartida normal y la pantalla virtual en lugar de la de hardware, pero según una pregunta pendiente mía, parece haber desaparecido en 10.8 como opción cuando se utiliza 10.8 como cliente...

13voto

Ged Byrne Puntos 481

No tengo un Mac con ARD para probar esto, pero esto sunshine-ard sugiere que puede solucionar el problema. De un rápido vistazo al código fuente, sólo envía un mensaje CFNotificationCenter para salir del modo cortina.

No estoy seguro de si hay una manera de engancharse al proceso de cierre de sesión de ARD para que esto se ejecute cada vez que desconecte su sesión, pero al menos podría ejecutarlo a través de SSH según sea necesario.

1 votos

Parece prometedor. Lo probaré la próxima vez que pueda reproducir el fallo.

1 votos

A pesar de muchos intentos, todavía no he podido reproducir mi error. Como la recompensa expira mañana, voy a aceptar esta respuesta basándome en la suposición de que va a funcionar.

1 votos

Yo tampoco he sido capaz de reproducirlo, pero encontré algo de documentación sobre cómo usar AppleScript para desbloquear pantallas y lo publicaré como una respuesta separada, aunque este parece el mejor lugar para la recompensa por el detalle a nivel de código sobre el funcionamiento interno de CFNotificationCenter.

10voto

tron_jones Puntos 79

La solución más rápida que he encontrado es hacer una conexión SSH a una cuenta de administrador en el ordenador remoto que está bloqueado.

ssh "adminuser"@ip.address/or.computername

Tipo: ps -ax | grep AppleVNCServer

Quieres la línea que dice algo así como

/System/Library/CoreServices/RemoteManagement/AppleVNCServer.bundle/Contents/Support/LockScreen.app/Contents/MacOS/LockScreen -session 256 -msgHex 

Anote el PID que está a la izquierda de esto.

y luego entrar:

sudo kill -9 "PID" 

Esto forzará el reinicio de la pantalla de bloqueo y la hará disponible de nuevo.

Sé que esto es como el post de arriba acaba de explicar. También se hace en dos máquinas 10.8.2 corriendo ARD 3.6.1.

0 votos

Esto me funcionó en El Cap esta tarde (y me salvó el día). Gracias.

2 votos

Lo he intentado en Mojave, sin suerte.

1 votos

Acabo de probarlo en Catalina (10.15.4) y ARD (3.9.3). Me ahorró un reinicio (y un dolor de cabeza - ARD es extremadamente buggy)

3voto

Oskar Puntos 1242

Apple proporciona un ejemplo de cómo scribir la pantalla de bloqueo en el capítulo 9 del Guía de administración de ARD .

Como ya tiene osascript acceso, enviaría el comando de desbloqueo.

-- Start commanding the local copy of Remote Desktop
tell application "Remote Desktop"
  -- decide which list to perform this on, in this case it's called
     "WorkMac"
  set these_computers to computer list "WorkMac"
  -- unlock the screen when finished
  execute (make new unlock screen task) on these_computers
end tell

2voto

Stuart Ramdeen Puntos 21

No puedo reproducir tu configuración exacta, ya que no tengo una segunda máquina con 10.8.2 y 3.6.1, pero esto es lo que he probado:

Desde mi Mac de administrador 10.8.2/3.6.1 bloqueé la pantalla de mi cliente 10.6.8, cerré la sesión del cliente y reproduje el fallo de bloqueo de pantalla. Me desconecté de mi sesión de ARD y el cliente permaneció con el icono de la pantalla de bloqueo. Me conecté por ssh al cliente y después de intentar conseguir algo de amor de 'kickstart' ejecuté launchctl list que reveló un trabajo de 'LockScreen'. Matarlo sin emitir una señal no tuvo ningún efecto, pero al enviarle un -9 se eliminó el icono de bloqueo de la pantalla y después de unos segundos se cargó el loginwindow. Tendrás que probarlo en tus condiciones para verificar que esta misma técnica funciona en una máquina 10.8.2/3.6.1 bloqueada y cuando el problema es causado por algo distinto al cierre de sesión del usuario.

1 votos

Definitivamente he matado ese proceso y luego he visto que el candado permanece en la pantalla. Lo probaré de nuevo la próxima vez que reproduzca el fallo, para estar seguro.

0 votos

Buena información sobre una vía de solución de problemas, pero matar el proceso no funciona. Ver mi applescript para enviar el desbloqueo de forma programada.

2voto

mtnygard Puntos 141

OK, no puedo comentar sobre el uso de ARD, no lo tengo, pero esto puede ser una solución adecuada, al menos mientras tanto.

Al usar la pantalla compartida normal, tienes la opción de usar la pantalla de hardware o la virtual. Esto era algo fácil de usar en 10.7 pero se ha ofuscado bastante en 10.8 y el comando del elemento de menú para cambiar de pantalla ha desaparecido.

Para utilizar la pantalla virtual, esto es lo que tienes que hacer. En primer lugar, tener otro usuario a su normal que tiene las opciones de uso compartido de pantalla pertinentes permitidos, a continuación, inicie sesión:

  • Si no hay nadie conectado a la máquina de destino, siempre aparecerá la pantalla de hardware mostrando la pantalla de inicio de sesión normal
  • Si el usuario con el que intentas iniciar la sesión ya está conectado, entonces siempre cambiará a ese usuario y utilizará la pantalla del hardware
  • Si se inicia la sesión con otro usuario que no haya iniciado la sesión en la pantalla hardware, se obtiene el siguiente mensaje y la posibilidad de utilizar la pantalla virtual, lo que se traduce en poder hacer lo que se quiera sin cambiar la pantalla principal y sin posibilidad de que nadie pueda verlo

enter image description here

Esto no es perfecto, tienes que asegurarte de que tu usuario secundario tiene los derechos de acceso pertinentes a los archivos y demás a los que puedas necesitar acceder, o puede que tengas que adoptar la incómoda práctica de dejar a tu usuario secundario (o "ficticio") conectado cuando te alejes del escritorio permitiéndote usar tu ID principal sobre la pantalla compartida, pero puede ayudar.

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