Fernzugriff und Booten für meinen iMac?

2209
Moshe

Ich verwende mein iPad, um Apps remote zu entwickeln (teste ich, wenn ich zu meinem iMac zurückkehre) und um andere kleine Änderungen an den Dateien auf meinem Computer vorzunehmen. Bis jetzt habe ich TeamViewer für iOS und iMac verwendet und es hat funktioniert, bis ich versucht habe, von einem Windows 7-Computer auf meinen iMac zuzugreifen. Dann stürzte TeamViewer einmal ab.

Ich suche nach einer Möglichkeit, meinen Mac neu zu starten, wenn das Remote-Programm ausfällt. Gibt es ein Applescript, das dies tun kann?

Gibt es auch ein VNC-Programm mit einer kompatiblen iOS-App, die einen Remote-Neustart unterstützt?

0

3 Antworten auf die Frage

1
Nick

Sie können eine Aufgabe auf dem iMac einrichten, um das Vorhandensein des TeamViewer-Prozesses zu überprüfen, und einen Neustart durchführen, wenn er nicht gefunden wird. Aber warum nicht einfach den Prozess neu starten, anstatt die gesamte Maschine neu zu starten?

Das ist eine interessante Idee. Wie würde ich das machen? Moshe vor 13 Jahren 0
ps -au nick | grep [0-9] ./ Applications / Safari.app Nick vor 13 Jahren 0
Entschuldigung, ich wollte den vorherigen Beitrag bearbeiten - hier ist eine vollständigere Version: ps -au nick | grep [0-9] ./ Applications / Safari.app || Öffnen Sie /Applications/Safari.app - finden Sie heraus, welcher Prozess gestartet werden muss, und ersetzen Sie "Safari.app" und "Nick" durch Ihren eigenen OS X-Benutzernamen. Fügen Sie es jetzt als Cron-Job hinzu und legen Sie fest, dass es jede Minute ausgeführt wird. Nick vor 13 Jahren 0
Noch besser, verwenden Sie das speziell dafür entwickelte launchd. http://www.macgeekery.com/tips/all_about_launchd_items_and_how_to_make_one_yourself gibt ein Beispiel, das TextEdit am Leben erhält. Scott vor 13 Jahren 2
@Scott - bitte als Antwort posten. Das kann es sein. Moshe vor 13 Jahren 0
1
NReilingh

Dies ist ziemlich trivial, wenn Sie mit der Befehlszeile vertraut sind. Es gibt viele SSH-Clients für iOS: Sie müssen "Remote Login" im Freigabe-Einstellungsbereich aktivieren.

Sobald dies erledigt ist und die richtigen Netzwerk-Minutien erledigt sind, müssen Sie nur noch SSH in Ihren iMac starten und ausführen $ sudo shutdown -r now, um den Computer neu zu starten . Vorausgesetzt, das ist alles, was Sie tun müssen, um TeamViewer zum Laufen zu bringen, sollte dies gut funktionieren.

Jemand schlug vor, den Prozess neu zu starten. Vorausgesetzt, alles, was Sie zum Aktivieren von TeamViewer tun müssen, ist das Starten der Anwendung. In diesem Fall müssen Sie zunächst den vorhandenen Abbruchprozess erzwingen: So etwas $ sudo killall TeamViewerund dann die Anwendung erneut starten $ open /Applications/TeamViewer.appoder etwas Ähnliches.

0
Scott

Sie müssen nicht neu starten, um TeamViewer neu zu starten. Sie können launchdden Prozess überwachen und erneut starten, wenn er abstürzt.

Zuerst müssen Sie die tatsächliche ausführbare Datei ermitteln. Öffnen Sie ein Terminal und sehen Sie sich im TeamViewer-Bundle um - die ausführbare Datei liegt wahrscheinlich bei, /Applications/TeamViewer.app/Contents/MacOS/TeamVieweraber Ihre Laufleistung kann variieren. Um zu überprüfen, ob Sie den richtigen Pfad gefunden haben, geben Sie ihn in das Terminal ein. Wenn TeamViewer gestartet wird, haben Sie es wahrscheinlich. Öffnen Sie alternativ den Aktivitätsmonitor, während TeamViewer ausgeführt wird, identifizieren Sie den TeamViewer-Prozess und klicken Sie in der Symbolleiste auf "Prüfen". Auf der Registerkarte "Open Files and Ports" wird die ausführbare Datei wahrscheinlich der erste oder der zweite Eintrag (nach /) sein.

Sobald Sie wissen, welches Programm Sie verfolgen, können Sie eine launchdEigenschaftenliste erstellen . Dies ist eine XML-Datei. Sie können dies also mit Ihrem bevorzugten Texteditor machen oder alternativ den Eigenschaftenlisten-Editor verwenden, der mit den Mac OS X Dev Tools installiert ist. Erstellen Sie Folgendes:

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

Speichern Sie dies in ~/Library/LaunchAgents/some.meaningful.name.plist, öffnen Sie ein Terminal und führen Sie folgende Schritte aus:

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

Dies führt dazu, dass launchd das Element lädt, wodurch das angegebene Programm überwacht wird. Wenn es aus irgendeinem Grund beendet wird, wird es erneut gestartet. Dies wird nur dann ausgeführt, wenn Ihr Benutzer angemeldet ist. Beim Booten ausführen zu können, setzt den plist in /Library/LaunchDaemons/some.meaningful.name.plist, fügt UserNameund GroupNameSchlüssel / Wert - Paare und verwenden Sie sudobeim Laufen launchdLast. Um den Artikel zu entfernen (wenn Sie beispielsweise TeamViewer wirklich beenden müssen), ersetzen Sie einfach load im obigen Befehl durch Unload.

Alternativ bietet Lingon eine grafische Oberfläche zum Starten, die möglicherweise einfacher ist.