Câu trả lời:
Kịch bản này sẽ chuyển trạng thái và hiển thị thông báo để xác nhận những gì đã được thực hiện.
#!/bin/bash
if [ $(rfkill list wifi | grep "Soft blocked: yes" | wc -l) -gt 0 ] ; then
rfkill unblock wifi
zenity --info --text "Enabled wireless"
else
rfkill block wifi
zenity --info --text "Disabled wireless"
fi
Để các dấu nhắc tiện ích biến mất, hãy thay đổi chúng như sau:
zenity --info --text "Enabled wireless" --timeout="5"
zenity --info --text "Disabled wireless" --timeout="5"
Hoặc thực hiện các thông báo xuất hiện ở góc màn hình của bạn.
sudo apt-get install libnotify-bin
Thay thế các dòng tiện nghi bằng
notify-send -i network-wireless-full "Wireless enabled" "Your wireless adaptor has been enabled."
notify-send -i network-wireless-disconnected "Wireless disabled" "Your wireless adaptor has been disabled."
--timeout="n"
lựa chọn không có giấy tờ cho sự yên tĩnh.
Tôi đã tìm kiếm một giải pháp cho vấn đề này cho bản thân mình trong một thời gian và đã sử dụng rất nhiều mẹo và thủ thuật cho tất cả. Cuối cùng tôi đã tìm thấy giải pháp phù hợp với mình và quyết định tạo ra một người mới. Chịu đựng tôi, điều này cũng dành cho những người ít có khả năng lập trình trong linux hơn nhiều bạn, như tôi;
Nhấp vào biểu tượng trình khởi chạy trên thanh trượt trên cùng bên trái (Trang chủ Dash), nhập 'gedit' và nhấp vào.
Bây giờ bạn sẽ tạo tập lệnh sẽ chuyển đổi wifi;
Tôi đã sử dụng phím tắt quản lý mạng; nmcli nm wifi, để xác định trạng thái wifi, và cũng để kiểm soát nó. Tôi đã sử dụng tập lệnh thông báo được đưa ra trong ví dụ trên để hiển thị trạng thái wifi. Đây là kịch bản của tôi;
#!/bin/bash
if [ $(nmcli nm wifi | grep "disabled" | wc -l) -eq 1 ] ; then
nmcli nm wifi on
notify-send -i network-wireless-full "Wireless enabled" "Your wireless adaptor has been enabled."
else
nmcli nm wifi off
notify-send -i network-wireless-disconnected "Wireless disabled" "Your wireless adaptor has been disabled."
fi
Sao chép và dán tệp này vào trình chỉnh sửa mà bạn vừa mở và lưu nó dưới dạng bất kỳ tên tệp nào bạn thấy phù hợp (tên của tôi là wifitoggle).
Bước tiếp theo là làm cho tệp có thể thực thi được (trong Thư mục chính; nhấp chuột phải vào tệp, thuộc tính, tab quyền của bạn, đánh dấu vào 'Chạy dưới dạng thực thi').
Sau đó đặt một bản sao trong thư mục system / usr / bin (mở terminal, gõ sudo nautilus. Điều hướng đến hệ thống File, sau đó usr, sau đó mở bin. Dán y).
Cuối cùng, đi đến Cài đặt hệ thống -> Bàn phím -> tab Phím tắt; nhấn nút + bên dưới, điền tên cho chuyển đổi của bạn và điền tên tệp cho tập lệnh bạn đã đưa ra (trong trường hợp của tôi là wifitoggle). Nhấp vào áp dụng và nhấp vào văn bản 'diabled' ở bên phải của văn bản đó, và sau đó nhấn các phím nóng của bạn. LÀM XONG!
Có bạn có thể với cnetworkmanager . Nó nằm trong kho nên cài đặt nó và tạo launcher bằng lệnh cnetworkmanager --wifi=no
nếu bạn muốn tắt không dây và lệnh cnetworkmanager --wifi=yes
nếu bạn muốn bật không dây.
Một cái gì đó như: sudo ifconfig <wlan0> down
hoặc sudo ifconfig <wlan0> up
?
Đây là kịch bản của tôi:
#!/bin/bash
echo "Checking wireless iface status...."
if iwconfig wlan0 | grep Quality
then
echo "Wi/Fi is being disabled...."
if rfkill block wifi
then
echo "Wi/Fi is now OFF!"
fi
else
echo "Wi/Fi is being enabled...."
if rfkill unblock wifi
then
echo "Wi/Fi is now ON!"
fi
fi
FYI: rfkill như david và misterben đề xuất là tốt hơn trong trường hợp bạn đang sử dụng Network-Manager .
ifconfig sẽ vô hiệu hóa giao diện, nhưng Network-Manager sẽ tự động kích hoạt lại giao diện đó.
Một quickie tôi sử dụng là loại bỏ mô-đun hạt nhân wl.
Tắt:
rmmod wl
Trên:
sửa đổi