Чи можливо встановити ярлик для включення / відключення Wi-Fi?


13

Чи можливо встановити ярлик для включення / відключення Wi-Fi?

Відповіді:


14

Цей скрипт переключить стан і покаже повідомлення, щоб підтвердити, що зроблено.

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

Щоб підказки вразливості зникли, змініть їх так:

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

Або робити сповіщення, які з’являються у куті екрана. alt текст

sudo apt-get install libnotify-bin

Замініть лінії зенності на

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

приємний там з rfkill ;-)
Павлос Г.

приємно, чи є спосіб автоматично зникнути повідомлення про дзеркальність через одну-дві секунди?
NES

Так, оновлена ​​відповідь. Існує незадокументований --timeout="n"варіант для зен.
misterben

Чи можете ви, будь ласка, детально описати, що робить сценарій? Мене цікавить, чи можна відключити wifi лише тоді, коли підключений Ethernet ?
JJD

@misterben Чи розглядає сценарій стан підключеного до Ethernet?
JJD

4

Я певний час шукав для цього рішення цього питання і використовував безліч порад і прийомів для всіх. Нарешті я знайшов рішення, яке працює для мене, і вирішив створити новачком прохідний шлях. Майте на увазі, це також для тих, хто не вміє програмувати в Linux, ніж багато хто з вас, як я;

Клацніть піктограму запуску в лівій верхній панелі висування (Dash Home), наберіть 'gedit' та натисніть клавішу Enter.

Тепер ви збираєтеся створити сценарій, який буде перемикати wifi;

Я використав ярлик мережевого менеджера; nmcli nm wifi, щоб визначити стан wifi, а також керувати ним. Я використовував сценарій сповіщень, наведений у наведеному вище прикладі, для відображення стану wifi. Ось мій сценарій;

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

Скопіюйте та вставте це в редактор, який ви щойно відкрили, і збережіть його як будь-яке ім’я файлу, яке ви вважаєте за потрібне (моє було wifitoggle).

Наступним кроком було зробити файл виконуваним (у домашній папці; клацніть правою кнопкою миші файл, властивості, дозволи, вставте прапорець "Запустити як виконуваний файл").

Потім помістіть копію в каталог файлової системи / usr / bin (відкрийте термінал, введіть sudo nautilus. Перейдіть до Файлова система, потім usr, потім відкрийте бін. Вставте y).

Нарешті, перейдіть до Налаштування системи -> Клавіатура -> Вкладка ярликів; натисніть на кнопку "маленький +" внизу, введіть ім'я перемикання та введіть ім'я файлу для сценарію, який ви дали (у моєму випадку wifitoggle). Клацніть Застосувати та клацніть на текст «набрати» справа від цього, а потім натисніть гарячі клавіші. Зроблено!


3

Щоб відключити використання адаптера Wi-Fi rfkill block wifi, увімкнути його використанняrfkill unblock wifi

Замість wifi можна використовувати одне з наступних ключових слів: all wifi wlan bluetooth uwb ultrawideband wimax wwan gps fm


1

Так, ви можете з cnetworkmanager . Він знаходиться у сховищі, тому встановіть його та створіть запуск із командою, cnetworkmanager --wifi=noякщо ви хочете відключити бездротовий зв'язок та команду, cnetworkmanager --wifi=yesякщо ви хочете включити бездротовий зв'язок.


1

Щось на кшталт: sudo ifconfig <wlan0> downчи sudo ifconfig <wlan0> up?

Ось мій сценарій:

#!/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, як запропоновано David та misterben , краще, якщо ви використовуєте Network-Manager .
ifconfig відключить інтерфейс, але Менеджер мережі повторно включить його.


Ідея використовувати його з тим же ярликом?
NES

я перевірю це, і я повідомлю вас ;-)
Павлос Г.

0

Ще одне швидке використання, яке я використовую, - це видалення модуля ядра wl.

Вимкнено:

rmmod wl

Увімкнено:

modprobe wl

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.