2016-03-29 11 views
0

Gewünschte Ergebnisse: 1. Open Screen Sharing.app 2. Geben Sie gewünschte IP-Adresse und eine Verbindung (Änderungen je nach Umgebung) 3. Auto Mute Mikrofon 4. Warten Sitzung zu verbinden 5. Auto-Modus wechseln beachten 6. Session abgeschlossen ist und Bildschirm Sharing.app geschlossen ist 7. Auto unmute MikrofonBildschirmfreigabe mit Applescript und Automator

Was getan worden ist und muss: 1. ich erfolgreich die Schritte 1 getan haben, 2, 3, 6 und 7. 2. Ich stehe fest, um einen Weg zu finden, den Beobachtungsmodus ohne Verwendung eines Timers auszulösen. Wenn die gewünschte Verbindung nicht innerhalb der angegebenen Zeit abgeschlossen ist oder das Fenster nicht ausgewählt ist, wird es nicht funktionieren und ein Fehler wird auftreten. 3. Ich verwende eine Kombination aus Automator und Applescript. Die meisten Elemente werden von Applescript eingerichtet.

Meine Frage: Wie kann ich Automator oder Applescript darauf warten, dass die Bildschirmfreigabe beendet wird, bevor die restlichen Aufgaben ausgeführt werden?

+0

Ich steuere für eine Lösung, die die meisten menschlichen Fehler eliminiert. – chrisnelsonx

+0

Machen Sie den Absatz der Liste einfach zu einer wahren Liste, so dass es für andere klar ist. –

Antwort

1

Außer GetUrl Anweisung, Screen-Sharing-App ist nicht skriptfähig, dann können Sie nicht fragen, ob die VNC-Verbindung aktiviert ist oder nicht. Die Bildschirmfreigabe-App hat eine interne Zeitüberschreitung, die nach einiger Zeit ein Fehlerfenster ("kann nicht öffnen ...") auslöst.

So können Sie nicht wissen, wann die Bildschirmfreigabe die Fenster oder nur den Fehlerdialog geöffnet haben wird. Die von mir verwendete Umgehung ist, vor dem Öffnen von vnc url zu überprüfen, ob Ihre IP-Adresse auf Ping-Anfragen antwortet. Aber Sie können einige Server haben, die nicht antworten!

Der zweite Teil ist einfacher, weil die Schalter-Modus zu beobachten, kann über Tastendruck (Screen-Sharing-Menü) mit Skript unten erfolgen:

tell application "Screen Sharing" to activate 
tell application "System Events" 
tell process "Screen Sharing" 
    keystroke "x" using {option down, command down} 
end tell 
end tell 

Natürlich ist dies nur gültig, wenn die Bildschirmfreigabe die vnc hat geöffnet Fenster. Und Sie müssen in den Systemeinstellungen das GUI-Scripting über Ihre Anwendung zulassen.

+0

Ich mag die Tastenanschlagsoption. Leider bin ich immer noch auf die Wartezeit zwischen dem Öffnen der Bildschirmfreigabe über VNC-Befehl und dem Umschalten in den Beobachtungsmodus angewiesen. Einen Auslöser finden, um den Schalter für den Überwachungsmodus zu aktivieren. – chrisnelsonx