2つの単純な「スクリプト」を作成します。スクリプトの名前は重要ではなく(単にwlanを使用します)、ケーブル接続されたネットワークインターフェイスは1つだけで、「eth0」と呼ばれます。わからない。これにより、wlan0だけでなく、ワイヤレスが完全に無効になることに注意してください。(複数のwlanインターフェースがあり、特定のインターフェースのみを無効にしたい場合のみ問題)
これらのスクリプトは、ブールロジックによって、2つ以上のケーブルネットワークインターフェイスがある状況に簡単に適合させることができます。
これらのスクリプトが「chmod + x」で実行可能であることを確認してください
/etc/network/ip-up.d/wlan
#!/bin/sh
# If eth0 goes up, disable wireless
if [ "$IFACE" = "eth0" ]; then
dbus-send --system --type=method_call --dest=org.freedesktop.NetworkManager /org/freedesktop/NetworkManager org.freedesktop.DBus.Properties.Set string:org.freedesktop.NetworkManager string:WirelessEnabled variant:boolean:false
fi
/etc/network/if-down.d/wlan
#!/bin/sh
# If eth0 goes down, enable wireless
if [ "$IFACE" = "eth0" ]; then
dbus-send --system --type=method_call --dest=org.freedesktop.NetworkManager /org/freedesktop/NetworkManager org.freedesktop.DBus.Properties.Set string:org.freedesktop.NetworkManager string:WirelessEnabled variant:boolean:true
fi
これにより、NetworkManagerでワイヤレスを有効または無効にします。これは通常、Gnomeパネルのシステムインジケーターとして表示されます。
dbus-send行の代わりに「ifconfig wlan0 down」または「ifconfig wlan0 up」を使用することもできますが、これはよりユーザーフレンドリーで、Ubuntuのシステムユーティリティへの干渉が少ないはずです。
Ubuntu Desktop 10.10でテストされており、NetworkManagerとdbusを使用して以前のバージョンまたは他のディストリビューションで動作するはずです。