Remoto en Mac Mini después de un reinicio

¿Cómo puede una Mac que ejecuta El Capitan estar siempre lista para una conexión VNC incluso después de reiniciar?

Puedo vnc en la Mac sin problema, pero cuando reinicio la Mac de forma remota no puedo volver a conectarla. Alguien tiene que conectar un teclado a la Mac e iniciar sesión y cerrar sesión físicamente. Una vez que la máquina ha iniciado sesión localmente, puedo volver a iniciar sesión de forma remota a través de Mac.

Estoy usando el VNC integrado de Mac, así como un servidor RealVNC instalado. Ninguno responderá después de un reinicio.

Edité el demonio de lanzamiento de RealVNC para que se ejecutara con carga, pero no funcionó.

ACTUALIZAR

El mac tiene filevault activado. 'sudo fdesetup authrestart' funcionará con un reinicio manual. Sin embargo, no funcionará con un reinicio forzado del sistema o un corte de energía. Alguien aún necesitaría iniciar sesión manualmente con un teclado en esos casos.

Las opciones en este punto parecen ser deshabilitar Filevault o aceptar el hecho de que una persona necesitará iniciar sesión ocasionalmente.

¿Qué versión de mac mini es?
el capitan Es un mac mini nuevo.
Puede configurar la Mac para iniciar sesión automáticamente en una cuenta de usuario al inicio. ¿Sería esta una buena solución?
Déjame probar a ver si eso funciona
Después de ver cómo configurar el inicio de sesión automático, noté que Filevault estaba activado. La solución parece ser reiniciar con sudo fdesetup authrestart. superusuario.com/questions/1024687/…
Aunque sudo fdesetup authrestart funcionará con un reinicio manual, no funcionará con un reinicio forzado del sistema o un corte de energía. Alguien aún necesitaría iniciar sesión manualmente con un teclado en esos casos.
Correcto. FileVault cifra todo el sistema de archivos. No hay ningún servicio VNC para ejecutar ni ninguna forma de saber cómo ejecutarlo sin desbloquear el disco.

Respuestas (5)

Apple admite esto fuera de la caja. En el panel de preferencias Compartir, debe habilitar Compartir pantalla o Administración remota y luego usar el cuadro de diálogo Configuración de la computadora para habilitar VNC.

ingrese la descripción de la imagen aquí

El servicio se inicia automáticamente cuando el sistema operativo detecta el tráfico de red entrante en los puertos VNC. Ahora, debe pasar cualquier pantalla de inicio de sesión previa de FileVault donde el sistema operativo real completo aún no se está ejecutando. Para reiniciar y omitir FileVault una vez, use:

fdesetup authrestart

Es posible que deba observar el tráfico DHCP y ver si la Mac se reincorpora a la red y solicita una dirección del enrutador si no puede encontrar la máquina al reiniciar. Para solucionar problemas, puede asignar una dirección IP estática para estar seguro de que no se trata de un problema de DHCP.

El problema también podría ser su elección de cliente VNC y no espera conectarse a OS X Lion o más reciente. Algunos clientes más antiguos fallan cuando Apple permite la opción de conectarse con el usuario que ha iniciado sesión o una nueva ventana de inicio de sesión. El cliente debe volver a conectarse una vez que la sesión finaliza para iniciar sesión.

Un cliente que me gusta en iOS y Mac OS X es http://edovia.com/screens/ Por supuesto, la aplicación gratuita para compartir pantalla de Apple (búsquela en /System/Library/CoreServices/Applications) y Apple Remote Desktop también funcionan bien. .

Gracias @Édouard: agregué dos opciones de Apple, así como el programa de terceros edovia

VNC es complicado de usar en un sistema sin cabeza. La forma en que funciona es que consulta el servidor de visualización para obtener la configuración para que VNC pueda enviar esa configuración al espectador. Si no hay nada conectado, no se envían parámetros y, por lo tanto, el espectador no tiene idea de qué mostrar. Es por eso que no soy fanático de VNC o ARD y solo lo usaré si es absolutamente necesario (el 95% de todo lo que hago en sistemas sin cabeza está en Terminal, por lo que esto no me sucede muy a menudo)

Es por eso que debe conectar un monitor para que la pantalla compartida vuelva a funcionar. Si deja el monitor conectado, VNC funcionará sin problemas en los reinicios

Engañar a OS X para que piense que una pantalla todavía está conectada

Lo más fácil que he visto que resuelve este problema es obtener un emulador de pantalla ficticia . Es limpio, es fácil y funciona en la caja. Lo que hace es hacer que OS X piense que un monitor todavía está conectado a la pantalla, por lo que cualquier configuración que haya configurado para ese "monitor" se enviará al visor VNC.

ingrese la descripción de la imagen aquí

Puede hacer el suyo propio , pero para mí, esto no es seguro y es muy descuidado para una instalación permanente. Incluí esta opción como referencia para ver lo que se está haciendo aquí (lo fácil que es) y para brindar otra opción si está en apuros. Nuevamente, no soy un fanático de este truco de bricolaje porque no está limpio y si no tiene el adaptador mDP a VGA o la resistencia, tendrá que comprarlos de todos modos y es posible que solo ahorre un par de dólares en el producto comercial. .

Puede leer el blog vinculado sobre cómo hacer esto, pero solo la imagen a continuación debería decirle qué hacer, qué adaptador de pantalla Apple necesita y qué resistencia comprar en función de sus códigos de color .

ingrese la descripción de la imagen aquí

Me encanta la imagen de la resistencia. Bien hecho +1 y algo más de buen karma. Además, Apple admite oficialmente el modo sin cabeza en Mac Mini, por lo que puede enviar informes de errores si encuentra un caso en el que no puede administrar un mini sin cabeza sin necesidad de un dongle o adaptador. Nunca los he necesitado a menos que desee una resolución de pantalla inicial diferente basada en "detectar" una pantalla conectada.
Sin embargo, no necesita el cable VGA. Simplemente conecte la resistencia entre los pines C2 y C5 en el DVI directamente. apple.stackexchange.com/a/352101/40801
Y hoy en día (2022) finalmente es posible volver a hacer todo en términos de software: github.com/waydabber/BetterDisplay

La solución al problema terminó siendo triple.

El mac tiene filevault activado. 'sudo fdesetup authrestart' funcionará con un reinicio manual. Sin embargo, no funcionará con un reinicio forzado del sistema o un corte de energía.

  1. .bash_profile un alias de comando para 'sudo fdesetup authrestart'. Usé 'reiniciar'. Ahora desde la terminal puedo escribir 'reiniciar' para reiniciar el sistema.
  2. Use un UPS para cortes de energía

UPS

  1. Si VNC deja de responder, ssh en el cuadro y reinicie a través de 'sudo fdesetup authrestart'

Deshabilite la bóveda de archivos en su disco de inicio, mueva los datos confidenciales a otro volumen y cifre con FileVault o algún otro medio. Creo que, en ese caso, MacOS no requiere una contraseña antes de que se cargue el sistema operativo.

Si desea reiniciar la máquina de forma remota sin tener que especificar el usuario, puede especificar un archivo de entrada en forma de plist. Realice los siguientes pasos en la computadora a la que se está conectando de forma remota:

  1. Primero debe crear un archivo plist que tendrá sus credenciales, abrir una ventana de terminal y pegar lo siguiente: touch ~/.restart.plist. Ahora abra ese archivo plist en un editor de texto y pegue lo siguiente:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>Username</key>
    <string>USERNAME_HERE</string>
    <key>Password</key>
    <string>PASSWORD_HERE</string>
    </dict>
    </plist>
    
  2. Reemplace USERNAME_HERE y PASSWORD_HERE en el archivo anterior con sus credenciales y guarde el archivo.
  3. Crea un alias en tu perfil de bash para que todo lo que tengas que hacer sea escribir rebooty él hará el resto por ti. Abra su ~/.bash_profile en un editor de texto y agregue la línea alias reboot="sudo fdesetup authrestart -inputplist < ~/.restart.plist"y luego guarde el archivo.
  4. Cierre y vuelva a abrir la ventana de su terminal, o escriba source ~/.bash_profilepara actualizar su alias para que coincida con el perfil de bash.

¡Ahora podrá reiniciar su computadora remota con un usuario específico simplemente escribiendo rebooten su terminal!

Fuente