캡티브 포털에 투명하게 로그인하는 프로그램을 작성했습니다. 그래서 무선 연결이 되었을 때 실행하고 싶습니다.네트워크 구성. 를 사용하여 구성 파일에서 이 작업을 수행할 수 있지만 POST_UP
현재 존재하는 모든 연결과 향후 생성될 수 있는 모든 연결에 이를 추가해야 하는데 제 경우에는 불가능합니다. 또한 데몬으로서 네트워크 연결을 폴링하고 싶지 않습니다. 이 작업에 대한 정보가 표시되지 않습니다.man netcfg-profiles
.
이 문제를 어떻게 처리해야 합니까? netcfg에는 POST_UP
여러 연결에 적용할 수 있는 기본 구성이 있습니까 ?
또한 모든 연결(유선 포함)에서 허용되지만 가능하면 피하고 싶습니다.
답변1
인터페이스별 {PRE,POST}_{UP,DOWN} 명령은 /etc/network.d/interfaces/$DEVICE에서 정의할 수 있습니다. 여기서 $DEVICE는 네트워크 장치의 이름입니다. 따라서 인터페이스당 후크가 필요한 반면(실제로는 필요하다고 표시한 것임) 연결당 후크가 필요하지 않습니다.
예를 들어 내 인터페이스 폴더에는 다음 파일이 있습니다.
/etc/network.d/interfaces/_functions:
notify() {
dev="$1"
state="$2"
/usr/local/sbin/xuserrun /usr/local/sbin/network_notification "$dev" "$state"
return 0
}
/etc/network.d/interfaces/{wlan0,eth0} (둘 다 동일한 내용을 가짐):
source /etc/network.d/interfaces/_functions
POST_UP="notify ${INTERFACE} up"
PRE_DOWN="notify ${INTERFACE} down"
연결이 설정되거나 끊어졌을 때 알려주는 팝업 알림을 보내는 스크립트를 실행합니다. 이러한 후크는 루트로 실행됩니다. 이 xuserrun
명령을 사용할 수 있습니다깃허브현재 X 사용자 이름을 확인하고 후속 명령을 실행하기 전에 해당 사용자로 전환합니다.