当您使用 生成新配置时wpa_passphrase
,请将其放在与上一个不同的位置以使事情变得更容易。例如,您的家庭 wifi 可能在,/etc/wpa_supplicant/home.conf
而您的工作 wifi 可能在/etc/wpa_supplicant/work.conf
.
然后,当您需要连接到家庭 wifi 时,您只需运行
killall wpa_supplicant # With root privileges
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/home.conf
当您需要连接到工作 wifi 时,您可以运行
killall wpa_supplicant # With root privileges
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/work.conf
为您想要使用的任何新网络重复并重复。如果您不想保留网络,例如旅途中的星巴克 wifi,只需将其保存到您计划覆盖或删除的 conf 中,例如/etc/wpa_supplicant/temp.conf
.
AFAIK,您永远不必重新运行 dhcpcd。我有 dhcpcd 作为启动过程,每当我切换 wifis 时,我都不需要触摸它。
编辑:您也不需要将其作为 python 脚本运行。您可以在外壳中执行此操作。如果您需要编写一个快速更改 wifi 的脚本,我建议您使用如下所示的 shell 脚本。
#!/bin/sh
[ -z "$1" ] && exit 1
[ ! -f "/etc/wpa_supplicant/${1}.conf" ] && echo "$1 is not a wpa_supplicant config file" && exit 1
sudo killall wpa_supplicant
sudo wpa_supplicant -B -i wlan0 -c "/etc/wpa_supplicant/${1}.conf"
像这样跑
wifichange home
或者
wifichange work
该[ -z "$1" ]
部分说如果您没有输入任何内容,则退出。(喜欢)
wifichange
[ ! -f ...]
如果您没有输入真实配置文件的名称,则该部分说要退出。
现在我测试了脚本。