Есть ли способ запускать сценарий каждый раз, когда я подключаюсь к определенной беспроводной сети?

14

Существует определенная беспроводная сеть, к которой я подключаюсь, которая требует от меня использования vpnc для доступа в Интернет. Если я создаю сценарий для этого, есть ли способ настроить его, чтобы каждый раз, когда я подключаюсь к этой сети, сценарий запускался? Чтобы было ясно, я не хочу, чтобы этот скрипт запускался с большинством беспроводных подключений, только с одним конкретным.

Евгений М
источник

Ответы:

6

Вы можете использовать выскочку для этого. Upstart может перехватить событие подключения к беспроводной сети (или сети в целом) и использовать это в качестве предварительного условия для запуска вашего сценария.

Upstart уже используется многими сценариями в Ubuntu и в конечном итоге заменит все сценарии инициализации System V во время загрузки.

txwikinger
источник
5

Network Manager запускает ВСЕ сценарии в каталоге /etc/NetworkManager/dispatcher.d/ (принадлежащие пользователю root, исполняемые, недоступные для чтения другим пользователям и не настроенные).

Переменные среды устанавливаются и передаются в этот сценарий администратором сети. Вас заинтересует переменная окружения CONNECTION_UUID (содержит уникальную строку).

Итак, чтобы решить вашу проблему (выполнить скрипт, когда к определенной беспроводной сети подключено):

1) выясните uuid интересующего вас беспроводного соединения (заглянув в соответствующий файл соединения в каталоге / etc / NetworkManager / system-connections /).

2) написать сценарий bash (или perl, или python, или любой другой), который делает то, что вы хотите, если переменная окружения CONNECTION_UUID соответствует uuid беспроводной сети в (1) выше.

3) поместите этот скрипт в /etc/NetworkManager/dispatcher.d/ и соответственно установите владельца и разрешения.

дальнейшее чтение: man networkmanager (и немного ковыряюсь в скриптах в каталогах, упомянутых выше).

Финли
источник
На компьютере Natty, который находится на Wi-Fi, этот каталог пуст. Это зависит от версии системы?
nealmcb