¿Acceso remoto y arranque para mi iMac?

¿Acceso remoto y arranque para mi iMac?

Estoy usando mi iPad para desarrollar aplicaciones de forma remota (las pruebo cuando vuelvo a mi iMac) y para realizar otros pequeños cambios en los archivos de mi computadora. Hasta ahora, he estado usando TeamViewer para iOS e iMac y funcionó, hasta que intenté acceder a mi iMac desde una máquina con Windows 7. Entonces, una vez, TeamViewer falló.

Estoy buscando una manera de reiniciar mi Mac cuando falla el programa remoto. ¿Existe un Applescript que pueda hacer esto?

Además, ¿existe un programa VNC que tenga una aplicación iOS compatible que admita el reinicio remoto?

Respuesta1

No es necesario reiniciar para reiniciar TeamViewer; Puede launchdcontrolar el proceso y reiniciarlo si falla.

Primero, necesitarás identificar el ejecutable real. Abra una terminal y busque en el paquete TeamViewer; el ejecutable probablemente estará en /Applications/TeamViewer.app/Contents/MacOS/TeamViewerpero su kilometraje puede variar. Para comprobar que ha encontrado la ruta correcta, escríbala en la terminal; si se inicia TeamViewer, probablemente la tenga. Alternativamente, abra el Monitor de actividad mientras TeamViewer se está ejecutando, identifique el proceso de TeamViewer y haga clic en "Inspeccionar" en la barra de herramientas. Luego, en la pestaña Abrir archivos y puertos, el ejecutable probablemente será la primera o segunda entrada de la lista (después de /).

Una vez que sepa qué programa está rastreando, puede crear una launchdLista de propiedades. Este es un archivo XML, por lo que puede hacerlo con su editor de texto favorito o, alternativamente, puede usar el Editor de lista de propiedades que se instala con Mac OS X Dev Tools. Cree lo siguiente:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>some.meaningful.name</string>

    <key>OnDemand</key>
    <false/>

    <key>ProgramArguments</key>
    <array>
            <string>/path/we/identified/earlier</string>
    </array>
</dict>
</plist>

Guarde esto en ~/Library/LaunchAgents/some.meaningful.name.plist, luego abra una terminal y haga:

launchctl load ~/Library/LaunchAgents/some.meaningful.name.plist

Esto hará que launchd cargue el elemento, lo que hará que supervise el programa especificado y, si sale por algún motivo, se reiniciará. Esto solo se ejecutará si su usuario ha iniciado sesión. Para ejecutarlo en el arranque, coloque el plist en /Library/LaunchDaemons/some.meaningful.name.plist, agregue UserNamepares GroupNameclave/valor y utilícelo sudocuando ejecute launchdla carga. Para deshacerse del elemento (si realmente necesita salir de TeamViewer, por ejemplo), simplemente reemplace cargar en el comando anterior con descargar.

Alternativamente,lingónproporciona una interfaz gráfica para iniciar y puede ser más fácil.

Respuesta2

Puede configurar una tarea en el iMac para verificar la existencia del proceso TeamViewer y reiniciar si no lo encuentra. Pero ¿por qué no simplemente reiniciar el proceso en lugar de reiniciar toda la máquina?

Respuesta3

Esto es bastante trivial si estás familiarizado con la línea de comando. Existen muchos clientes SSH para iOS: deberá activar el "Inicio de sesión remoto" desde el panel de preferencias de uso compartido.

Una vez hecho esto y solucionados los detalles de red adecuados, todo lo que necesita hacer para reiniciar es SSH en su iMac y ejecutar $ sudo shutdown -r now, lo que reiniciará la máquina. Suponiendo que eso es todo lo que necesita hacer para que TeamViewer esté en funcionamiento, debería funcionar bien.

Alguien más sugirió reiniciar el proceso. Nuevamente, suponiendo que todo lo que necesita hacer para activar TeamViewer es iniciar la aplicación, primero deberá forzar el cierre del proceso bloqueado existente: algo como $ sudo killall TeamViewery luego reiniciar la aplicación con $ open /Applications/TeamViewer.appo algo similar.

información relacionada