답변:
이를 위해 upstart 를 사용할 수 있습니다 . Upstart는 무선 네트워크 (또는 일반적으로 네트워크)에 연결하는 이벤트를 포착하여 스크립트를 실행하기위한 전제 조건으로 사용할 수 있습니다.
Upstart는 이미 우분투의 많은 스크립트에서 사용되고 있으며 결국 부팅시 모든 System V init 스크립트를 대체합니다.
Network Manager는 /etc/NetworkManager/dispatcher.d/ 디렉토리 (루트 소유, 실행 가능, 다른 사용자가 읽을 수없고 setuid가 아닌)에서 모든 스크립트를 실행합니다.
네트워크 관리자가 환경 변수를 설정하고이 스크립트에 전달합니다. CONNECTION_UUID 환경 변수 (고유 문자열 포함)에 관심이 있습니다.
따라서 문제를 해결하려면 (특정 무선 네트워크가 연결되어있을 때 스크립트를 실행하십시오) :
1) 관심있는 무선 연결의 UUID를 찾으십시오 (/ etc / NetworkManager / system-connections / 디렉토리의 해당 연결 파일 내부에서).
2) 환경 변수 CONNECTION_UUID가 위의 (1)에서 무선 네트워크의 uuid와 일치하는 경우 원하는 것을 수행하는 bash (또는 perl, python 또는 기타) 스크립트를 작성하십시오.
3)이 스크립트를 /etc/NetworkManager/dispatcher.d/에 넣고 소유자와 권한을 적절하게 설정하십시오.
추가 읽기 : man networkmanager (그리고 위에서 언급 한 디렉토리의 스크립트 주위에 약간의 파킹).