Answers:
禁用卡的方法有很多。我想说的最简单的是:
sudo ifdown wlan0
在你/etc/rc.local
上面exit 0
。这应该禁用无线网卡(替换wlan0
为无线接口卡)
如果要在键盘上启用/禁用,Ubuntu论坛上的该线程介绍了如何将键盘事件链接到脚本。如果要在按下键时切换它,则必须在脚本中添加一些逻辑。尽管最简单的方法可能是启用一个键,然后禁用另一个键。
下脚本
#!/bin/bash
IFACE=wlan0
ifconfig ${IFACE} down
及以上脚本
#!/bin/bash
IFACE=wlan0
ifconfig ${IFACE} up
您可以轻松地停止将其自动连接到特定连接。
要连接时,只需在小程序上单击鼠标左键,然后选择一个接入点。
注意:此操作不会关闭wifi卡的电源,并且仍在搜索无线访问点。这可能不是您想要的。但是如果是这样,那就太好了!
注意2:如果您的连接断开,它不会自动重新连接。
在启动应用程序上创建会话,例如:
设置>>首选项>>启动应用程序
添加然后填充命令:
dbus-send --system --type=method_call --dest=org.freedesktop.NetworkManager /org/freedesktop/NetworkManager org.freedesktop.DBus.Properties.Set string:org.freedesktop.NetworkManager string:WirelessEnabled variant:boolean:false
false表示关闭,但可以通过fn+ F2或其他方式启用。
我使用wicd代替NetworkManager。重新启动/下次启动后,它会记住wi-fi状态。不知道如何,但是可以。:)
如果不需要某些NM功能,请使用wicd。它更易于使用和控制。
如果您的FN + F2在Ubuntu中不起作用(我的确应该在Asus EeePC上网本中使用),那么我真的建议您使用Jupiter。它是一个甜美,打磨得很好的通知区域小程序。
有了它,您可以分别启用和禁用蓝牙和WiFi,以及用于笔记本和上网本的其他不错的控件。它会记住重新启动后的状态,甚至还记得每个电源的状态(这意味着在插入电源后始终可以打开WiFi,而在用电池供电时可以自动关闭WiFi)。您可以将所有操作绑定到击键。
不错的评论和一些屏幕截图:http : //www.webupd8.org/2010/06/jupiter-take-advantage-of-asus-super.html
官方项目页面:http://www.jupiterapplet.org/
PPA(用于APT / Synaptic /软件中心中的自动更新:https://launchpad.net/~webupd8team/+archive/jupiter
Wiki(完整的技术文档):http : //sourceforge.net/apps/mediawiki/jupiter/index.php? title=Main_Page
可以使用rfkill工具启用或禁用无线功能。这是基于此的解决方案,它将允许保存状态并在系统启动时将其还原。
步骤00:创建文件以存储wifi状态
cd /usr/local/etc
sudo touch .wifistate
sudo chmod 666 .wifistate
步骤01:脚本
#!/bin/bash
IFACE="wlan1"
STATE_FILE="/usr/local/etc/.wifistate"
STATE="$(iwconfig $IFACE | grep Tx | cut -d '=' -f2 | grep off)"
if [ "$STATE" ]
then
rfkill unblock wifi &&
echo 1 > "$STATE_FILE" &&
echo "Wireless enabled"
else
rfkill block wifi &&
echo 0 > "$STATE_FILE" &&
echo "Wireless disabled"
fi
exit 0;
步骤10:使脚本可执行
chmod +x <script name>
步骤11:修改Ubuntu启动脚本
/etc/rc.local
在任何文本编辑器中打开(必须以root用户身份进行编辑),并在以下行
之前添加以下代码exit 0;
:
FILE="/usr/local/etc/.wifistate"
if [ -r "$FILE" ]
then
if [ $(cat $FILE) -eq 0 ]
then
rfkill block wifi
fi
else
rfkill block wifi
fi
完成后,现在可以将步骤01中的脚本链接到键盘事件。首次使用后,它将在.wifistate文件中写入0或1,并且在系统启动时rc.local脚本将尝试读取该值,如果为0,则禁用wifi。
如果.wifistate文件不存在,默认情况下将在启动时禁用wifi。
尝试 sudo iwconfig wlan0 txpower off
用eth2或任何您的wifi接口替换wlan0。
这将禁用您的wifi天线并节省电量,但是不会阻止Network Manager尝试连接,因此您可能还希望按照Oli的说明禁用Network Manager的wifi自动连接设置。
尝试在“系统>首选项>网络连接>无线”下查看,并确保没有列出的wifi位置都设置为自动连接。这不会停止无线启动,但是会阻止其进行任何连接。
安装,sysv-rc-conf
然后以root用户身份运行它,并确保在运行级别S 0 1 2处有一个X,以便在安装后输入wpa-ifupdown
或直接键入sudo sysv-rc-conf --level S012 wpa-ifupdown on
。
S012345
应该将其添加到除重新启动级别(6)之外的所有运行级别中
不管是什么原因导致您要禁用它,我不确定它是否适用于每台笔记本电脑,但是它对我有用:通过插入局域网电缆,Ubuntu会忽略wi-fi,从而使您能够在系统加载之前“关闭”。
Bruteforce将成为wifi内核模块的黑名单:
dmesg | grep atheros
(或您PC中的任何内容)或 lsmod
/lib/modules//kernel/drivers/wireless/...
在dir中创建一个黑名单文件“ no-wireless.conf” /etc/modules.d
,其中包含
# blacklist wifi
blacklist [a blacklist line for each name of your wifi modules eg. ath...]
blacklist rfcomm
blacklist mac80211
-
但是启动后您将无法再启用wifi,除非您从modprobe.b中删除该文件并重新启动
PS:别忘了,在以某种方式备份系统之前(例如,使用ubuntu live或其他方式)
(对不起,没有阅读下面的帖子)
sudo ifdown wlan0
,rc.local
将其放置也不会影响系统?我是否需要以某种方式调用此脚本?