Messaggio di notifica quando la VPN viene disconnessa

Questa domanda è come è ansible aggiungere un messaggio di notifica quando una VPN viene connessa? . Lo script python nella risposta (vedi sotto) funziona correttamente con la 13.04, ma si limita a fare nuove connessioni, non quando una connessione VPN viene disconnessa, il che è molto più importante in quanto può accadere in qualsiasi momento.

Qualcuno può modificare lo script per le disconnessioni?

In alternativa, dov’è l’icona del vassoio di rete (per VPN) contenuta nel file system, così posso cambiarla: il lucchetto in miniatura è così piccolo che è appena visibile. I colors di primo piano / sfondo invertiti sarebbero migliori.

import gtk import pynotify import dbus from dbus.mainloop.glib import DBusGMainLoop def vpn_connection_handler(*args, **keywords): state = args[0].get('State',0) if state == 2: n = pynotify.Notification ("VPN", "Connection established") n.show() pynotify.init ("icon-summary-body") dbus_loop = DBusGMainLoop() system_bus = dbus.SystemBus(mainloop=dbus_loop) system_bus.add_signal_receiver(vpn_connection_handler, dbus_interface="org.freedesktop.NetworkManager.VPN.Connection", signal_name="PropertiesChanged") gtk.gdk.threads_init() gtk.main() 

In realtà molto semplice. Sai già che devi controllare lo state per vedere quando la vpn è connessa, quindi aggiungi una piccola istruzione print per vedere quale state valore è quando disconnetti il ​​vpn.

Prendo 4 , quindi aggiungo un blocco elif:

  elif state == 4: n = pynotify.Notification ("VPN", "Connection lost") n.show() 

tuttavia, ricevo già le notifiche dal Network Manager stesso, vero?