ワイヤレス接続が発生したら、netcfgを使用してプログラムを起動します。

ワイヤレス接続が発生したら、netcfgを使用してプログラムを起動します。

キャプティブポータルに透過的にログインするプログラムを作成しました。だから無線接続になったときに実行したいと思います。ネットワーク構成。を使用して構成ファイルでこれを行うことはできますが、POST_UP現在存在するすべての接続と将来作成される可能性のあるすべての接続にそれを追加する必要がありますが、私の場合は不可能です。また、デーモンとしてネットワーク接続をポーリングしたくありません。この操作に関する情報は表示されません。man netcfg-profiles

この問題にどのように対処する必要がありますか? netcfgにはPOST_UP複数の接続に適用できるデフォルト設定はありますか?

また、すべての接続(有線を含む)で許可されていますが、可能であれば避けたいと思います。

ベストアンサー1

インターフェース固有の {PRE,POST}_{UP,DOWN} コマンドは /etc/network.d/interfaces/$DEVICE で定義できます。ここで、$ DEVICEはネットワークデバイスの名前です。したがって、インターフェイスごとにフックが必要ですが(実際には必要とマークされています)、接続あたりのフックは必要ありません。

たとえば、My Interfacesフォルダには次のファイルがあります。

/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ユーザー名を確認し、後続のコマンドを実行する前にそのユーザーに切り替えます。

おすすめ記事