สร้าง 'สคริปต์' อย่างง่ายสองตัวชื่อของสคริปต์ไม่สำคัญ (ฉันใช้ wlan เพียงอย่างเดียว) และฉันคิดว่ามีเพียงหนึ่งเครือข่ายอินเทอร์เฟซเครือข่าย cabled และเรียกว่า 'eth0' ... ตรวจสอบสิ่งนี้ด้วย 'ifconfig' ถ้าคุณ ไม่แน่ใจ โปรดทราบว่านี่ไร้สายปิดการใช้งานทั้งหมดไม่เพียงแค่ wlan0 (เฉพาะปัญหาถ้าคุณมีอินเตอร์เฟซ wlan หลายรายการและต้องการปิดการใช้งานเฉพาะบางรายการเท่านั้น)
สคริปต์เหล่านี้สามารถปรับเปลี่ยนได้อย่างง่ายดาย - โดยตรรกะบูลีน - กับสถานการณ์ที่คุณมีอินเตอร์เฟสเครือข่ายสองสายขึ้นไป
ตรวจสอบให้แน่ใจว่าสคริปต์เหล่านี้สามารถใช้งานได้กับ '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
คุณสามารถใช้ 'ifconfig wlan0 down' หรือ 'ifconfig wlan0 up' แทนสาย dbus-send ได้ แต่สิ่งนี้ควรจะเป็นมิตรกับผู้ใช้มากกว่าและรบกวนน้อยลงด้วยยูทิลิตี้ระบบของ Ubuntu
ทดสอบกับ Ubuntu Desktop 10.10 และควรทำงานกับรุ่นก่อนหน้าหรือการกระจายอื่น ๆ โดยใช้ NetworkManager และ dbus