Có thể thiết lập một phím tắt để bật / tắt wifi?


Câu trả lời:


14

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. văn bản thay thế

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."

một cái tốt đẹp ở đó với rfkill ;-)
Pavlos G.

thật tuyệt, có cách nào để tự động biến mất tin nhắn zenity sau một hoặc hai giây không?
NES

Đúng, cập nhật câu trả lời. Có một --timeout="n"lựa chọn không có giấy tờ cho sự yên tĩnh.
misterben

Bạn có thể vui lòng mô tả chi tiết những gì kịch bản không? Tôi quan tâm nếu chỉ có thể vô hiệu hóa wifi khi cắm ethernet ?
JJD

@misterben Tập lệnh có xem xét trạng thái cắm ethernet không?
JJD

4

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!


3

Để vô hiệu hóa sử dụng bộ điều hợp wifi của bạn rfkill block wifi, để cho phép nó sử dụngrfkill unblock wifi

Thay vì wifi, bạn có thể sử dụng một trong những từ khóa sau: all wifi wlan bluetooth uwb ultrawideband wimax wwan gps fm


1

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=nonếu bạn muốn tắt không dây và lệnh cnetworkmanager --wifi=yesnếu bạn muốn bật không dây.


1

Một cái gì đó như: sudo ifconfig <wlan0> downhoặ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ư davidmisterben đề 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 ý tưởng để sử dụng nó với cùng một phím tắt?
NES

Tôi sẽ kiểm tra và tôi sẽ cho bạn biết ;-)
Pavlos G.

0

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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.