Netcfg
當使用 netcfg 建立任何無線連接時啟動程序
我編寫了一個程序,可以透明地登錄到強制門戶。因此,我想在使用netcfg建立任何無線連接的任何時候執行它。可以通過使用在配置文件中對每個連接執行此操作
POST_UP
,但這需要將其添加到目前存在的每個連接以及將來可能創建的任何連接,這在我的情況下是不可行的。我也不希望作為守護程序輪詢網路連接。我沒有看到任何關於這樣做的資訊man netcfg-profiles
。我應該如何處理這個?
POST_UP
netcfg 是否有任何允許 a應用於多個連接的內置配置?它也適用於所有連接(包括有線連接)是可以接受的,但如果可能的話,我想避免它。
特定於介面的 {PRE,POST}_{UP,DOWN} 命令可以在 /etc/network.d/interfaces/ 中定義 $ DEVICE, where $ 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"
這會執行一個腳本來發送一個彈出通知,告訴我何時建立/失去了連接。請注意,這些掛鉤以 root 使用者身份執行。該
xuserrun
命令在github上可用,並確定目前 X 使用者名並在執行後續命令之前切換到該使用者。