Bildschirmfreigabe im Vollbild starten
Grundsätzliches
Um die Bildschirmfreigabe im Vollbild per systemweitem Tastenkürzel starten zu können, sind einige Kniffe erforderlich.
Es funktioniert nur für eine Screensharing-Session gleichzeitig.
Beim Verbindungsaufbau mit Apples Bildschirmfreigabe wird manchmal (!) Benutzer und Kennwort abgefragt, aber nicht immer. Das Skript klickt in diesem Fall automatisch auf “OK” bzw. auf “Anmelden” (Buttontext je nach MacOS-Release anders, sprachlich natürlich auch anzupassen). Damit das funktionieren kann, müssen Benutzer und Kennwort im Schlüsselbund gespeichert werden. Leider klappt das auch nicht immer auf Anhieb. Einfach mehrfach wiederholen, irgendwann werden Benutzer und Paßwort korrekt vorausgefüllt.
Das folgende Script kann zwar direkt aus dem Skripteditor bzw. dem Skriptmenü gestartet werden. Aber es nicht möglich, dieses im Dienste-Menü zu hinterlegen, da das Dienste-Menü nicht dazu berechtigt werden kann, “System Events” zu steuern.
Zuerst muß das Skript als doppelklickbares App gespeichert werden. Auch das ist nicht ohne weiteres möglich, das genaue Vorgehen folgt im Anschluß.
AppleScript
Es muß IP_ADRESSE durch die IP-Adresse bzw. den Hostnamen des Zielrechners ersetzt werden.
(*
Bildschirmfreigabe im Vollbild starten
Copyright © 2022
Café MegaByte
*)
-- Bildschirmfreigabe aktivieren
tell application "Screen Sharing"
activate
delay 1 -- erforderlich, wenn das Programm gestartet werden mußte
end tell
-- Läuft bereits eine Bildschirmfreigabe im Vollbild?
tell application "System Events" to tell process "Screen Sharing" to set isConnected to value of attribute "AXFullScreen" of window 1
-- Ggf. Bildschirmfreigabe starten
if isConnected is false then
tell application "Screen Sharing" to GetURL "IP_ADRESSE"
-- Warten bis die Verbindung steht
repeat while isConnected = false
tell application "System Events" to tell process "Screen Sharing" to set isConnected to window 1 exists
end repeat
end if
-- Ggf. "Anmelden" klicken
try
tell application "System Events" to tell process "Screen Sharing" to click button "Anmelden" of window 1
delay 1 -- auf langsameren Geräten ggf. 2 Sekunden warten
end try
-- Ggf. Skalierung einschalten
try
tell application "System Events" to tell process "Screen Sharing" to click menu item "Skalierung einschalten" of menu 1 of menu bar item "Darstellung" of menu bar 1
end try
-- Vollbild aktivieren
tell application "System Events" to tell process "Screen Sharing" to set value of attribute "AXFullScreen" of window 1 to true
Vorgehen
- Das AppleScript muß fehlerfrei vom Skripteditor aus ausführbar sein.
- Das Coding muß kopiert und in eine neue, leere Datei eingefügt werden.
- Das AppleScript muß nun als ausführbares Programm gespeichert werden. Der beim “Speichern als App” initial vergebene Name darf nicht schon einmal auf diesem System verwendet worden sein. Der Name ist beliebig wählbar. (Vermutlich wird hierdurch die interne App-ID einmalig festgelegt, mit welche das App später bei der Berechtigungsvergabe identifiziert wird. Bei Wiederholung der ID klappt es sonst mit der Berechtigung nicht.) Es bietet sich an, etwas beginnend mit “AA_…” zu verwenden, damit es bei der anschließenden Berechtigungsvergabe immer ganz oben steht.
- Anschließend muß die Codesignatur des neu erstellten Skript-Apps ersetzt werden. Dies ermöglicht es, dem Skript-App die erforderlichen Berechtigungen zu erteilen!
- Das Skript-App doppelklicken und die angeforderten Berechtigungen erteilen und ggf. wiederholen. Das Skript-App muß fehlerfrei laufen.
- Das Skript-App kann jetzt beliebig umbenannt und ein eigenes Icon eingefügt werden.
Optional: Systemweites Tastaturkürzel
- Mit “Automator” eine “Schnellaktion” erstellen (Schnellaktionen erscheinen im Dienste-Menü). Dort ein einziliges AppleScript einbinden:
tell application "SKRIPT_APP" to run, wobeiSKRIPT_APPder Name des Skript-Apps sein muß. - In den
SystemeinstellungenunterTastaturim ReiterKurzbefehleim BereichDienstedem Automator-Skript ein Taststurkürzel zuweisen.
Ergebnis
Das Tastaturkürzel öffnet nun von jedem Programm aus die Bildschirmfreigabe im Vollbildmodus.
! CAVE !
Wenn das Skript-App geändert wird (ein “Öffnen” im Skripteditor kann bereits genügen!), verliert es seine Berechtigungen. Anschließend muß die Codesignatur nochmals ersetzt werden und die Häkchen unter Systemeinstellungen bei Sicherheit & Datenschutz im Tab Datenschutz sowohl unter Bedienungshilfen als auch unter Automation ggf. entfernt und neu gesetzt werden.
Wenn das Skript-App tatsächlich geändert wird, ist es nicht mehr berechtigt und o.g. Korrekturen helfen nicht. Nochmal: Das Coding muß in eine neue Datei eingefügt werden und der beim Speichern als App initial vergebene Name darf nicht schon einmal verwendet worden sein.