Acesso remoto e inicialização do meu iMac?

Acesso remoto e inicialização do meu iMac?

Estou usando meu iPad para desenvolver aplicativos remotamente (testo quando volto ao meu iMac) e para fazer outras pequenas alterações nos arquivos do meu computador. Até agora, usei o TeamViewer para iOS e iMac e funcionou, até o momento em que tentei acessar meu iMac em uma máquina com Windows 7. Então, uma vez, o TeamViewer travou.

Estou procurando uma maneira de reiniciar meu Mac quando o programa remoto falhar. Existe um Applescript que pode fazer isso?

Além disso, existe um programa VNC que possui um aplicativo iOS compatível que suporta reinicialização remota?

Responder1

Você não precisa reinicializar para reiniciar o TeamViewer; você pode launchdmonitorar o processo e reiniciá-lo se ele travar.

Primeiro, você precisará identificar o executável real. Abra um terminal e dê uma olhada no pacote TeamViewer - o executável provavelmente estará em, /Applications/TeamViewer.app/Contents/MacOS/TeamViewermas sua milhagem pode variar. Para verificar se você encontrou o caminho correto, digite-o no terminal - se o TeamViewer iniciar, provavelmente você o conseguiu. Alternativamente, abra o Activity Monitor enquanto o TeamViewer estiver em execução, identifique o processo do TeamViewer e clique em ‘Inspecionar’ na barra de ferramentas. Então, na guia Abrir arquivos e portas, o executável provavelmente será a primeira ou segunda entrada listada (depois de /).

Depois de saber qual programa você está rastreando, você pode criar uma launchdLista de Propriedades. Este é um arquivo XML, então você pode fazer isso com seu editor de texto favorito ou, alternativamente, você pode usar o Editor de lista de propriedades instalado com o Mac OS X Dev Tools. Crie o seguinte:

<?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>

Salve isso em ~/Library/LaunchAgents/some.meaningful.name.plist, abra um terminal e faça:

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

Isso fará com que o launchd carregue o item que fará com que ele monitore o programa especificado e, se sair por qualquer motivo, será reiniciado. Isso só será executado se o seu usuário estiver logado. Para executar na inicialização, coloque o plist em pares /Library/LaunchDaemons/some.meaningful.name.plist, add UserNamee GroupNamechave/valor e use sudoao executar launchdo carregamento. Para se livrar do item (se você realmente precisa sair do TeamViewer, por exemplo), basta substituir load no comando acima por unload.

Alternativamente,Lingonfornece uma interface gráfica para o lançamento e pode ser mais fácil.

Responder2

Você pode configurar uma tarefa no iMac para verificar a existência do processo TeamViewer e reinicializar se não for encontrado. Mas por que não reiniciar o processo em vez de reiniciar a máquina inteira?

Responder3

Isso é bastante trivial se você estiver familiarizado com a linha de comando. Existem muitos clientes SSH para iOS: você precisa ativar o "Login Remoto" no painel de preferências de compartilhamento.

Depois que isso for feito e os detalhes de rede adequados forem resolvidos, tudo o que você precisa fazer para reinicializar é SSH no seu iMac e executar o $ sudo shutdown -r now, que reinicializará a máquina. Supondo que isso seja tudo que você precisa fazer para colocar o TeamViewer em funcionamento, isso deve funcionar bem.

Alguém sugeriu reiniciar o processo. Novamente, supondo que tudo o que você precisa fazer para ativar o TeamViewer é iniciar o aplicativo, primeiro você precisa forçar o encerramento do processo travado existente: algo como $ sudo killall TeamViewere, em seguida, reiniciar o aplicativo com $ open /Applications/TeamViewer.appou algo semelhante.

informação relacionada