Acesso remoto e inicialização para o meu iMac?

0

Estou usando meu iPad para desenvolver aplicativos remotamente (testo quando volto para o meu iMac) e faço outras pequenas alterações nos arquivos do meu computador. Até agora, tenho usado o TeamViewer para iOS e iMac e funcionou, até a época em que tentei acessar meu iMac a partir de 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 faça isso?

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

    
por Moshe 08.10.2010 / 01:45

3 respostas

0

Você não precisa reiniciar para reiniciar o TeamViewer; você pode obter launchd para monitorar o processo e reiniciá-lo se ele falhar.

Primeiro, você precisa identificar o executável real. Abra um terminal e examine o bundle do TeamViewer - o executável provavelmente estará em /Applications/TeamViewer.app/Contents/MacOS/TeamViewer , mas sua milhagem poderá variar. Para verificar se encontrou o caminho certo, digite-o no terminal - se o TeamViewer for iniciado, provavelmente você o terá. Como alternativa, abra o Activity Monitor enquanto o TeamViewer estiver em execução, identifique o processo do TeamViewer e clique em "Inspecionar" na barra de ferramentas. Em seguida, na guia Abrir arquivos e portas, o executável provavelmente será a primeira ou segunda entrada listada (após / ).

Depois de saber qual programa você está acompanhando, você pode criar uma launchd Property List. Este é um arquivo XML, portanto, você pode fazê-lo com seu editor de texto favorito ou, como alternativa, 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 ele sair por qualquer motivo, ele será reiniciado. Isso só será executado se o usuário estiver conectado. Para executar na inicialização, coloque o plist em /Library/LaunchDaemons/some.meaningful.name.plist , adicione UserName e GroupName pares de chave / valor e use sudo ao executar launchd load. Para se livrar do item (se você realmente precisar sair do TeamViewer, por exemplo) simplesmente substitua load no comando acima com unload.

Como alternativa, o Lingon fornece uma interface gráfica para o lançamento e pode ser mais fácil.

    
por 20.10.2010 / 11:07
1

Você pode configurar uma tarefa no iMac para verificar a existência do processo do TeamViewer e reinicializá-lo, caso não seja encontrado. Mas por que não apenas reiniciar o processo em vez de reiniciar a máquina inteira?

    
por 08.10.2010 / 02:06
1

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

Quando isso for feito e as minúcias de rede adequadas forem resolvidas, tudo o que você precisa fazer para reinicializar é o SSH no seu iMac e executar $ sudo shutdown -r now , que reinicializará a máquina. Supondo que isso seja tudo o que você precisa fazer para colocar o TeamViewer em funcionamento, isso deve funcionar bem.

Alguém sugeriu reiniciar o processo. Novamente, assumindo que tudo o que você precisa fazer para ativar o TeamViewer é iniciar o aplicativo, primeiro você precisará forçar o encerramento do processo interrompido: algo como $ sudo killall TeamViewer e, em seguida, reiniciar o aplicativo com $ open /Applications/TeamViewer.app ou algo semelhante. / p>     

por 08.10.2010 / 05:47

Tags