![每次启动时关闭无线网卡](https://linux22.com/image/1121296/%E6%AF%8F%E6%AC%A1%E5%90%AF%E5%8A%A8%E6%97%B6%E5%85%B3%E9%97%AD%E6%97%A0%E7%BA%BF%E7%BD%91%E5%8D%A1.png)
我尝试在启动时禁用无线功能,例如莱肯施泰因描述如下:如何让无线网卡的无线电默认关闭?
但重启后它仍然处于启用状态!
我通过运行将命令添加到 /etc/rc.local
sudo nano /etc/rc.local
使用箭头键/向上/向下翻页键导航到前一行exit 0
并添加rfkill block wifi
,以便文件结束如下:
# By default, this script does nothing
rfkill block wifi
# for debugging:
rfkill list > /tmp/wifi-state.txt
exit 0
现在/tmp/wifi-state.txt
我可以看到它在调用后就被阻止了,rc.local
但是如果我调用
rfkill list
在控制台上显示WiFi再次启用:
0: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
1: hci0: Bluetooth
Soft blocked: yes
Hard blocked: no
附加信息: 我添加了这个来禁用蓝牙,它工作正常:
rfkill block bluetooth
和
sudo rfkill block wifi
在控制台上运行良好
答案1
您可以尝试使用 ifconfig ...
将以下内容添加到 rc.local
$> ifconfig wlan0 关闭
如果您挂起/休眠计算机,那么您也必须将其添加到挂起过程中。
通过创建文件
$> sudo nano /etc/pm/sleep.d/20_custom_wlan0
将以下内容添加到文件中。
# Script to disable wlan0 before suspend and restart after wake.
case "${1}" in
suspend|hibernate)
echo suspending wlan0
;;
resume|thaw)
echo Resuming wlan0 - shutting down wlan0
ifconfig wlan0 down
;;
esac
保存文件并确保可执行
$> sudo nano /etc/pm/sleep.d/20_custom_wlan0
这应该够了吧。
顺便说一下,文件名的名称并不重要,只是它必须以小于 60 的数字开头,因为数字决定了文件在进程中的运行位置。有些系统在挂起后会启动 60 个网卡。查看 /etc/pm-suspend.log 文件。
答案2
我用这个相当“黑客”的解决方案解决了它:sleep 10
延迟:似乎在 Ubuntu 14.04 中您需要等待几秒钟才能禁用 wifi /etc/rc.local
。
改用这个:
sudo nano /etc/rc.local
使用箭头键/向上/向下翻页键导航到之前的行exit 0
并添加/bin/sleep 10 && rfkill block wifi
,这样文件将如下所示:
# By default, this script does nothing
/bin/sleep 10 && rfkill block wifi
exit 0
上面的另一个解决方案被认为是更清洁的解决方案,但它并不总是有效......
答案3
我使用这个解决方案解决了这个问题(在我的联想 Yoga 2 Pro 上):编辑文件
sudo nano /etc/rc.local
并添加两行,使文件如下所示:
# By default, this script does nothing
# disable wifi:
sed s/^WirelessEnabled=true/WirelessEnabled=false/ -i /var/lib/NetworkManager/NetworkManager.state
rfkill block wifi
exit 0
笔记:如果仅添加第一sed
行,它并不总是有效:时不时地,我的笔记本电脑会意外地再次启动并启用 wifi,但使用这两个命令它都可以工作。