Aplicación para notificar al usuario de la conexión VNC activa

4

Quiero algo más visual que los binoculares muy sutiles de Apple en el menú de estado superior derecho cuando hay una conexión VNC entrante activa en la máquina.

Preferiblemente, solo una ventana flotante que notifica al usuario que hay una conexión VNC activa, y tal vez la dirección IP. La mejor solución que he encontrado es ejecutar el siguiente comando en la Terminal. Pero eso realmente no resuelve mi problema de monitoreo, ya que tengo que buscar los datos de manera activa.

netstat -a | grep vnc | grep ESTABLISHED
    
pregunta Aeyoun 14.06.2011 - 12:39

3 respuestas

4

Siempre puedes crear este script y ejecutarlo desde una terminal

#!/bin/bash

alertme() {
    say "Big brother watching"
}

while :
do    
  netstat -a | grep vnc | grep ESTABLISHED && alertme
  sleep 60 #wait 60 seconds
done

y tienes un aviso hablado. Si guarda el script con la extensión .command , puede iniciarlo desde el buscador haciendo doble clic.

Puede instalar growl desde el directorio Extras del paquete growlnotify. Puede cambiar la opinión en el alertme a:

growlnotify --appIcon TextEdit "Big brother"  -m 'watching'

y obtuve una ventana de notificación.

O, puede hacer que el flujo de trabajo de Automator con shell script & alerta de ventana emergente :)

O, puedes usar el siguiente:

sudo fs_usage -f network AppleVNCServer | grep -E '(accept|close)'

en lugar de netstat | grep y obtendrá los tiempos exactos de conexión y desconexión, como el siguiente, pero necesita ejecutarlo como administrador ... (sudo).

14:19:20  accept                                                                                             0.000024   AppleVNCServ
14:19:33  close                                                                                              0.000047   AppleVNCServ
14:27:01  accept                                                                                             0.000024   AppleVNCServ
14:28:19  close                                                                                              0.000055   AppleVNCServ
14:28:26  accept                                                                                             0.000018   AppleVNCServ
14:28:34  close                                                                                              0.000037   AppleVNCServ
    
respondido por el jm666 14.06.2011 - 13:58
1

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.

    
respondido por el bmike 14.06.2011 - 20:14
0

Si está satisfecho con lo que se informa por

netstat -a | grep vnc | grep ESTABLISHED

podría usar la Consola OS X de manera práctica para leer este archivo. Simplemente envíe el archivo de registro a / var / log / o / Library / Logs y lo verá en la lista de registro de la Consola.

También puede hacer que el sistema realice un seguimiento del tamaño del registro y lo dé vuelta automáticamente y comprima las versiones antiguas después de que se alcance un cierto tamaño.

Echa un vistazo a newsyslog si estás interesado en eso.

    
respondido por el emiller 20.06.2011 - 05:47

Lea otras preguntas en las etiquetas