Dado que launchd inicia y detiene el proceso de compartir pantalla, puede crear un nuevo trabajo launchd que use un diccionario KeepAlive con una cláusula OtherJobEnabled para vincular su herramienta de advertencia a la etiqueta launchd com.apple.ScreenSharing.server
Cuando se inicie ScreenSharing, su trabajo también se iniciará con launchd. (o viceversa, si lo prefiere)
El trabajo del sistema que desea ingresar es /System/Library/LaunchAgents/com.apple.ScreenSharing.plist
Su lista debería ir en ~/Library/LaunchAgents
o /Library/LaunchAgents
dependiendo de si solo quiere que se advierta a un usuario, o que se advierta a todos los usuarios. También establecería LimitLoadToSessionType en Aqua .
Como lo menciona @ jm666 - Growl puede hacer algunas notificaciones muy bonitas con mucho control y transparencia, superposición, etc.
growlnotify --appIcon Screen\ Sharing "Screen Sharing" -m "is now active - click to dismiss" -s
Podría ser muy sofisticado con un script de shell para determinar la IP de origen, la fecha y la hora, registrar la conexión o hacer todo tipo de cosas divertidas, ya que launchd tiene un gran soporte para los scripts de shell y aplicaciones completas.
Un Apple Script rápido y sucio podría ser bueno para las pruebas para asegurarse de que Launchd esté funcionando y siempre puedes pulir la presentación más tarde.
osascript -e 'tell application "System Events" to display alert "Incoming VNC session started" as warning buttons {"Cancel", "OK"} default button "OK" cancel button "Cancel" message "Screen Sharing is now active and someone can see and control this Mac until the menu bar icon of \"binoculars inside a monitor\" turns back into binoculars alone. "'
Consulte estos enlaces para más información sobre launchd y diálogo de AppleScript para referencia.