Существует определенная беспроводная сеть, к которой я подключаюсь, которая требует от меня использования vpnc для доступа в Интернет. Если я создаю сценарий для этого, есть ли способ настроить его, чтобы при каждом подключении к этой сети сценарий запускался? Чтобы было ясно, я не хочу, чтобы этот скрипт запускался с большинством беспроводных подключений, только с одним конкретным.
Вы можете использовать upstart для этого. Upstart может перехватить событие подключения к беспроводной сети (или сети в целом) и использовать это в качестве предварительного условия для запуска вашего скрипта.
Upstart уже используется многими сценариями в Ubuntu и в конечном итоге заменит все сценарии инициализации System V во время загрузки.
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 (и немного ковыряюсь в скриптах в каталогах, упомянутых выше).