Apakah mungkin untuk mengatur pintasan untuk mengaktifkan / menonaktifkan wifi?

13

Apakah mungkin untuk mengatur pintasan untuk mengaktifkan / menonaktifkan wifi?

NES
sumber

Jawaban:

14

Skrip ini akan beralih status, dan menampilkan pesan untuk mengonfirmasi apa yang telah dilakukan.

#!/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

Untuk menghilangkan zenity diminta, ubah seperti:

zenity --info --text "Enabled wireless" --timeout="5"
zenity --info --text "Disabled wireless" --timeout="5"

Atau buat pemberitahuan yang muncul di sudut layar Anda. teks alternatif

sudo apt-get install libnotify-bin

Ganti garis zenity dengan

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."
misterben
sumber
bagus di sana dengan rfkill ;-)
Pavlos G.
bagus, apakah ada cara untuk menghilangkan pesan zenity secara otomatis setelah satu atau dua detik?
NES
Yap, jawaban yang diperbarui. Ada --timeout="n"opsi tidak berdokumen untuk kenyamanan.
misterben
Bisakah Anda jelaskan secara rinci apa yang dilakukan skrip? Saya tertarik apakah mungkin untuk menonaktifkan wifi hanya ketika ethernet dicolokkan ?
JJD
@ misterben Apakah skrip mempertimbangkan status ethernet terpasang?
JJD
4

Saya telah mencari solusi untuk ini untuk diri saya sendiri untuk sementara waktu, dan telah menggunakan banyak tips dan trik untuk seluruh. Saya akhirnya menemukan solusi yang sesuai untuk saya, dan memutuskan untuk membuat walk-through pemula. Bersabarlah, ini juga bagi mereka yang kurang mampu memprogram di linux daripada banyak dari Anda, seperti saya;

Klik ikon peluncur di bilah geser kiri atas (Dash Home), ketik 'gedit', dan klik enter.

Anda sekarang akan membuat skrip yang akan mengaktifkan wifi;

Saya menggunakan pintasan manajer jaringan; nmcli nm wifi, untuk menentukan status wifi, dan juga untuk mengendalikannya. Saya menggunakan skrip notifikasi yang diberikan dalam contoh di atas untuk menampilkan status wifi. Ini skrip saya;

#!/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

Salin dan tempel ini ke editor yang baru saja Anda buka, dan simpan sebagai nama file apa pun yang Anda anggap pantas (milik saya wifitoggle).

Langkah selanjutnya adalah membuat file dapat dieksekusi (di Home Folder; klik kanan file Anda, properti, tab izin, centang tanda pada 'Jalankan sebagai executable').

Kemudian letakkan salinan di direktori sistem file / usr / bin (terminal terbuka, ketik sudo nautilus. Navigasikan ke File system, lalu usr, lalu buka bin. Paste y).

Terakhir, buka Pengaturan Sistem -> Keyboard -> tab Pintasan; tekan tombol + kecil di bawahnya, isi nama untuk sakelar Anda dan isi nama file untuk skrip yang Anda berikan (dalam kasus saya wifitoggle). Klik terapkan, dan klik pada teks 'diaktifkan' di sebelah kanannya, lalu tekan tombol pintas Anda. DIBUAT!

Johno
sumber
3

Untuk menonaktifkan penggunaan adaptor wifi Anda rfkill block wifi, untuk mengaktifkannya gunakanrfkill unblock wifi

Alih-alih wifi Anda dapat menggunakan salah satu kata kunci berikut: all wifi wlan bluetooth uwb ultrawideband wimax wwan gps fm

David
sumber
1

Ya, Anda bisa dengan cnetworkmanager . Ada dalam repositori jadi instal dan buat peluncur dengan perintah cnetworkmanager --wifi=nojika Anda ingin menonaktifkan nirkabel dan perintah cnetworkmanager --wifi=yesjika Anda ingin mengaktifkan nirkabel.

Shakipu
sumber
1

Sesuatu seperti: sudo ifconfig <wlan0> downatau sudo ifconfig <wlan0> up?

Ini skrip saya:

#!/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 seperti yang disarankan david dan misterben lebih baik jika Anda menggunakan Network-Manager .
ifconfig akan menonaktifkan antarmuka, tetapi Network-Manager akan mengaktifkannya kembali secara otomatis.

Pavlos G.
sumber
Gagasan untuk menggunakannya dengan jalan pintas yang sama?
NES
Aku akan memeriksanya dan aku akan memberitahumu ;-)
Pavlos G.
0

Quickie lain yang saya gunakan adalah menghapus modul wl kernel.

Mati:

rmmod wl

Di:

modprobe wl

Pete Ashdown
sumber