是否可以设置启用/禁用wifi的快捷方式?


Answers:


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"

或发出显示在屏幕角落的通知。 替代文字

sudo apt-get install libnotify-bin

将zenity线替换为

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 ;-)
Pavlos G. 2010年

很好,有没有办法在一两秒后自动消失Zenity消息?
NES 2010年

是的,更新后的答案。--timeout="n"zenity 有一个未记录的选项。
misterben

您能否详细描述该脚本的作用?我是否有兴趣仅在插入以太网后才能禁用wifi
JJD 2012年

@misterben脚本是否考虑以太网插入状态?
JJD 2012年

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,然后打开bin。粘贴y)。

最后,转到系统设置->键盘->快捷方式标签;按下下方的小+按钮,为您的切换输入名称,并为您提供的脚本填写文件名(在我的情况下为wifitoggle)。单击应用,然后单击其右侧的“已禁用”文本,然后按您的热键。完成!


3

要禁用wifi适配器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

仅供参考:如果您使用的是Network-Manager,那么大卫槲寄生建议的rfkill更好。 ifconfig将禁用该接口,但是Network-Manager将自动重新启用它。


使用相同快捷方式的想法?
NES 2010年

我会进行检查,然后让您知道;-)
Pavlos G. 2010年

0

我使用的另一个快捷方式是删除wl内核模块。

关:

rmmod wl

上:

修改探针

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.