在 Gentoo 上,如何在不執行 NetworkManager 守護程式的情況下從命令列連接到 WiFi?

在 Gentoo 上,如何在不執行 NetworkManager 守護程式的情況下從命令列連接到 WiFi?

我正在使用 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_請求者

相關內容