Câu hỏi tự động chuyển đổi giữa Wifi và ethernet trong Linux bằng dòng lệnh


Tôi muốn chuyển đổi giữa Wifi và ethernet trong Linux (Ubuntu 10.04). Tôi đã tìm kiếm nhiều cách và tôi thấy nó có thể được thực hiện bằng cách sử dụng firestarter - autoswitch giữa các mạng có dây và không dây.

Đối với điều này tôi cần phải cài đặt gói Firestarter trong Ubuntu.

Đây có phải là cách chính xác để chuyển đổi giữa eth0 và wifi? Tôi muốn thực hiện nó bằng cách sử dụng dòng lệnh mà không cần cài đặt bất kỳ gói mới nào.

Hãy giúp tôi. Cảm ơn trước


2
2018-06-10 05:54


gốc




Các câu trả lời:


Tôi đã tạo tập lệnh để kết nối và ngắt kết nối khỏi wifi và ethernet

Ngắt kết nối wifi

killall wpa_supplicant
wirelessname=`ls /sys/class/net | grep wlan* | head -1`
ifconfig $wirelessname down

Kết nối wifi

wirelessname=`ls /sys/class/net | grep wlan* | head -1`
ifconfig $wirelessname up > /dev/null 2>&1 &
killall wpa_supplicant > /dev/null 2>&1 &
iwconfig $wirelessname power off > /dev/null 2>&1 &
wpa_passphrase $1 $2 > /root/wps.conf
wpa_supplicant -Dwext -i$wirelessname -c/root/wps.conf > /dev/null 2>&1 &
sleep 5
dhclient -r > /dev/null 2>&1 &
dhclient $wirelessname > /dev/null 2>&1 &

Kết nối Ethernet

ifconfig $(ip link show | grep eth | grep state | awk '{printf $2}'| sed -e 's/:$//') up
ifconfig $(ifconfig | grep eth | awk '{print $1}'| head -1 ) $(ifconfig  | grep Bcast | awk '{printf $2}' | cut  -c6-) up

Ngắt kết nối ethernet

ifconfig $(ifconfig | grep eth | awk '{print $1}' | head -1 )  down 

1
2018-06-18 04:47





Connman(1) có thể được sử dụng để ưu tiên các kết nối của bạn để thích mạng có dây và tự động kết nối với các mạng không dây khi kết nối có dây không khả dụng. Nó được hỗ trợ bởi Intel, vì vậy nó có thể là thù địch với phần cứng mạng không intel: Tôi không thể sử dụng Connman(1) kể từ khi trình điều khiển wifi của tôi sẽ không đặt cờ, Intel dự kiến ​​sẽ bật bộ điều hợp. Tôi gặp lỗi "không có sóng mang" và không có kết nối wifi. Tuy nhiên, có vẻ như kết nối nhanh chóng khi tôi cắm vào kết nối có dây.

Bạn cần phải cấu hình /etc/connman/main.conf/main.conf với một cái gì đó như:

  BackgroundScanning = false
  DefaultAutoConnectTechnologies = ethernet,wifi 
  PreferredTechnologies = ethernet,wifi
  SingleConnectedTechnology = true

để đảm bảo chỉ có wifi hoặc ethernet được kết nối. Sau đó, sử dụng tương tác connmanctl(1) phiên được chỉ định bởi trang người đàn ông để kết nối với wifi lần đầu tiên hoặc chỉnh sửa tệp cài đặt cho giao diện của bạn được tìm thấy trong /var/lib/connman (điều này có vẻ dễ dàng hơn với tôi, nhưng cần khởi động lại.) Xem connman-service.config(5)

Nếu bạn có ifupdown hoặc các biến thể của nó được cài đặt, bạn có thể loại bỏ các biến thể đó để tránh va chạm trước khi cài đặt connman(1)


1
2017-07-17 20:35



Chào mừng bạn đến với Hỏi Ubuntu! :-)  Câu trả lời đầu tiên tuyệt vời!  Đã bỏ phiếu! - Fabby