我正在使用 runit init 系统运行 Gentoo 系统。我似乎无法启动 NetworkManager,因为当我使用从 Void Linux 复制的运行文件为其设置服务并启用它(通过运行ln -sf /etc/sv/networkmanager /etc/service
)时,它似乎没有运行(是的,dbus 服务是跑步)。我创建了一个包来提供此 NetworkManager 服务,它是这里,如果您对这个问题感兴趣。我的意思似乎并不是运行nmtui
返回:
NetworkManager is not running.
因此,作为临时解决方法,我想知道是否有任何方法可以在不需要运行 NetworkManager 守护进程的情况下连接到 WiFi。同样,wpa_supplicant 似乎也不起作用。当我跑的时候:
wpa_supplicant -B -i interface -c <(wpa_passphrase SSID passwd)
dhclient interface
当然,SSID 替换为我的 SSID,passwd 替换为我的接口密码,并且仍然ping www.google.com
返回经典:
ping: unknown host www.google.com
最后一个命令 ( dhclient interface
) 大约需要一分半钟才能完成,而该wpa_supplicant
命令立即完成。
我已经设置了 wpa_supplicant 守护进程来运行:
sudo ln -sf /etc/sv/wpa_supplicant /etc/service/
我的 wpa_supplicant 运行文件也是从 Void 获得的。我可以确认 wpa_supplicant 正在后台运行,ps ax | grep wpa
返回结果:
2651 ? Ss 0:00 runsv wpa_supplicant
3192 ? Ss 0:00 wpa_supplicant -B -i wlo1 -c /proc/self/fd/11
18843 ? Ss 0:00 wpa_supplicant -B -i wlo1 -c /proc/self/fd/11
22662 ? Ss 0:00 wpa_supplicant -B -i wlo1 -c /proc/self/fd/11
当然,wlo1 是我的 WiFi 接口。
答案1
您可以通过 来连接 linux 系统上的 Wifi wpa_supplicant
,您不需要网络管理器,这nmtui
是网络管理器的文本用户界面。
通过命令检查是否有wpa_supplicant正在运行ps
,确保killall wpa_supplicant
在使用该wpa_supplicant
命令之前杀死进程。
要临时连接而不创建配置文件:
killall wpa_supplicant
wpa_supplicant -B -i <interface> -c <(wpa_passphrase SSID password)
dhcpcd
使用配置文件进行连接:
创建一个/etc/wpa_supplicant/wpa_supplicant.conf
包含以下内容的文件:
/etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=/run/wpa_supplicant
update_config=1
要配置某些接入点,请使用:
wpa_passphrase SSID password >> /etc/wpa_supplicant/wpa_supplicant.conf
连接:
killall wpa_supplicant
wpa_supplicant -B -i <interface> -c /etc/wpa_supplicant/wpa_supplicant.conf
dhcpcd
您还可以使用该wpa_cli
工具通过 cli 进行管理和连接。
Gentoo 维基:wpa_请求者