Этот вопрос похож на Можно ли добавить уведомление при подключении VPN? . Сценарий python в ответе там (см. Ниже) работает нормально 13.04, но он только уведомляет о создании новых подключений, а не об отключении VPN-подключения, что гораздо важнее, поскольку это может произойти в любое время.
Может кто-нибудь, пожалуйста, настроить скрипт для отключения?
В качестве альтернативы, где находится значок в трее сетевого подключения (для VPN) в файловой системе, так что я могу изменить его - миниатюрный замок настолько мал едва виден Перевернутые цвета переднего плана / фона будут лучше.
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()
Очень просто на самом деле. Вы уже знаете, что вам нужно проверить state
, чтобы увидеть, когда vpn подключен, поэтому добавьте небольшой оператор печати, чтобы увидеть, какое значение state
находится при отключении vpn.
Я получаю 4
, поэтому просто добавьте блок elif:
elif state == 4:
n = pynotify.Notification ("VPN", "Connection lost")
n.show()
Однако я уже получаю уведомления от самого Network Manager, не так ли?