我这里有一个奇怪的场景:如果我运行nmcli dev wifi list
它,它会向我显示所有网络的列表,这很好。一旦我将设备(在我的例子中为 wlan0)添加到文件/etc/network/interfaces
并重新启动,它就显示没有网络。
所以在重新启动之前/etc/network/interfaces
包含:
#iface wlan0 inet manual
# wpa-driver wext
# wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
# wpa_supplicant.conf contains no networks at the moment
source-directory /etc/network/interfaces.d
# this directory is empty, so currently it is a redundant statement
我删除前三个#
,重新启动设备,nmcli 显示没有网络。我该如何解决这个问题?我需要wpa_supplicant.conf
空的,因为它将由脚本填充。所述脚本显示网络列表(通过nmcli
)并生成 wpa_supplicant.conf (通过wpa_passphrase
)
我知道有一个类似的问题在那边,但启动的唯一答案wpa_supplicant.service
不会解决我的问题,因为该服务已经在运行(根据# systemctl status wpa_supplicant.service
)。重新启动它也不会改变任何东西。
答案1
这个是正常的。默认情况下,NetworkManager 不管理设备/etc/network/interfaces
。你可以通过/etc/NetworkManager/NetworkManager.conf
按键更改它[ifupdown] managed=true
答案2
请注意,在最近的 Ubuntu 版本(哪些版本?)上有一个名为 Netplan 的东西,它默认不与 NetworkManager 通信,这也可能是导致类似错误的原因。
在这种情况下,修复:
sudo mv /etc/netplan/00-installer-config.yaml /etc/netplan/00-installer-config.yaml.bak
sudo nano /etc/netplan/00-activate-networkmanager.yaml
并在文件中写入以下内容:
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
# Set and change netplan renderer to NetworkManager GUI tool
network:
version: 2
renderer: NetworkManager
然后:
sudo netplan apply
然后由于我对 Netplan 不太了解,所以我只是建议重新启动,nmcli
然后就可以了。