Уведомление, когда VPN отключается

Этот вопрос похож на Можно ли добавить уведомление при подключении 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()  
2
задан 13 April 2017 в 15:24

1 ответ

Очень просто на самом деле. Вы уже знаете, что вам нужно проверить state, чтобы увидеть, когда vpn подключен, поэтому добавьте небольшой оператор печати, чтобы увидеть, какое значение state находится при отключении vpn.

Я получаю 4, поэтому просто добавьте блок elif:

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

Однако я уже получаю уведомления от самого Network Manager, не так ли?

0
ответ дан 13 April 2017 в 15:24

Другие вопросы по тегам:

Похожие вопросы: