6 votes

Application pour notifier l'utilisateur d'une connexion VNC active

Je veux quelque chose de plus visuel que les jumelles très subtiles d'Apple dans le menu d'état en haut à droite lorsqu'il y a une connexion VNC entrante active sur la machine.

Idéalement, juste une fenêtre flottante notifiant à l'utilisateur qu'il y a une connexion VNC active, et peut-être l'adresse IP. La meilleure solution que j'ai trouvée est d'exécuter la commande ci-dessous dans le Terminal. Mais cela ne résout pas vraiment mon problème de surveillance car je dois activement rechercher les données.

netstat -a | grep vnc | grep ESTABLISHED

5voto

jm666 Points 7802

Vous pouvez toujours créer ce script et l'exécuter depuis un terminal

#!/bin/bash

alertme() {
    say "Grand frère surveille"
}

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

et vous obtiendrez un avertissement vocal. Si vous enregistrez le script avec l'extension .command, vous pouvez le démarrer depuis le Finder en double-cliquant dessus.

Vous pouvez installer growl depuis le répertoire Extras le package growlnotify. Vous pouvez changer le say dans le alertme par:

growlnotify --appIcon TextEdit "Grand frère"  -m 'surveillance'

et obtenir une fenêtre de notification.

Ou, vous pouvez créer un workflow Automator avec un script shell & une alerte de fenêtre popup. :)

Ou, vous pouvez utiliser ceci:

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

au lieu de netstat | grep et vous obtiendrez les heures exactes de connexion et de déconnexion, comme ci-dessous, mais vous devez l'exécuter en tant qu'administrateur... (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

1voto

Oskar Points 1242

Étant donné que launchd lance et arrête le processus de partage d'écran, vous pouvez créer un nouveau travail launchd qui utilise un dictionnaire KeepAlive avec une clause OtherJobEnabled pour lier votre outil d'avertissement à l'étiquette launchd com.apple.ScreenSharing.server

Lorsque le partage d'écran démarre, votre travail sera également démarré par launchd. (ou vice versa si vous préférez)

Le travail système que vous souhaitez cibler est /System/Library/LaunchAgents/com.apple.ScreenSharing.plist

Votre fichier plist doit se trouver dans ~/Library/LaunchAgents ou /Library/LaunchAgents en fonction de si vous voulez avertir un seul utilisateur, ou tous les utilisateurs. Je définirais également LimitLoadToSessionType sur Aqua.

Comme mentionné par @jm666 - Growl peut créer des notifications très jolies avec beaucoup de contrôle et de transparence, superposition, etc..

growlnotify --appIcon Screen\ Sharing "Partage d'écran" -m "est maintenant actif - cliquez pour fermer" -s

Vous pourriez être très astucieux avec un script shell pour déterminer l'adresse IP source, la date et l'heure, enregistrer la connexion ou faire toutes sortes de choses amusantes puisque launchd offre un excellent support pour les scripts shell ainsi que pour les applications complètes.

Un script Apple rapide et simple pourrait être utile pour tester et vérifier que launchd fonctionne et vous pourrez toujours peaufiner la présentation ultérieurement.

osascript -e 'tell application "System Events" to display alert "Session VNC entrante démarrée" as warning buttons {"Annuler", "OK"} default button "OK" cancel button "Annuler" message "Le partage d'écran est maintenant actif et quelqu'un peut voir et contrôler ce Mac jusqu'à ce que l'icône de la barre de menu des \"jumelles dans un moniteur\" redevienne simplement des jumelles. "'

Consultez ces liens pour plus d'informations sur launchd et dialogue AppleScript pour référence.

0voto

churnd Points 4558

Si vous êtes satisfait de ce qui est rapporté par

netstat -a | grep vnc | grep ESTABLISHED

vous pourriez utiliser l'utilitaire Console d'OS X pour lire ce fichier. Il vous suffit d'envoyer le fichier journal vers /var/log/ ou /Library/Logs et vous le verrez dans la liste des journaux Console.

Vous pouvez également demander au système de suivre la taille du journal et de le basculer automatiquement et de compresser les anciennes versions une fois une certaine taille atteinte.

Jetez un œil à newsyslog si cela vous intéresse.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X