LemuntuがインストールされたLeMakerギターがあります。私のwpa_supplicant.conf
ファイルは次のとおりです。
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="MySSID"
psk="MyPasswd"
}
私の/etc/network/interfaces
ファイルは次のとおりです。
auto wlan0
iface wlan0 inet dhcp
pre-up wpa_supplicant -B -i wlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf
pre-down killall -q wpa_supplicant
ギターの電源を入れ、Wi-Fi ルーターが既に稼働している場合、Wi-Fi 接続は正常に機能します。ただし、ギターを起動してルーターの電源を入れると接続できません。毎分実行されるクローンジョブを作成しましたが、dhclient wlan0
成功しませんでした。
だから私の質問は、ギターを起動した後にそのWi-Fiが表示されたら、そのWi-Fiに自動的に接続する方法です。
答え1
解決策:GUIのないネットワーク管理者。
wpa-supplicant
、iw
およびを使って6つのチュートリアルを試しました/etc/network/interfaces
。しかし、それらのどれも私のために働いていません。おそらく彼らが何をしているのか全く説明していないからです。だから私はいつもうまくいかず、エラーメッセージもなく、問題の原因を特定する方法がない状況に直面します。
結局、デフォルトのネットワークマネージャをインストールしてみました。これはgnome-network-managerですが、GUIコンポーネント(-> --no-install-recommends
)はありません。
簡単に言えば、解決策は次のとおりです。
sudo apt install --no-install-recommends network-manager
nmcli connection add ifname wlan0 type wifi ssid MySSID
nmcli connection edit wifi-wlan0
構成ファイルを編集するときは、WPA-PSKとプレーンテキストパスワードを設定する必要があります。
nmcli> goto wifi
nmcli 802-11-wireless> set mode infrastructure
nmcli 802-11-wireless> back
nmcli> goto wifi-sec
nmcli 802-11-wireless-security> set key-mgmt wpa-psk
nmcli 802-11-wireless-security> set psk your-plain-text-password
nmcli 802-11-wireless-security> save
nmcli 802-11-wireless-security> quit
再起動してお楽しみください!ネットワーク管理者がすべてを処理します!
権限について文句を言う場合、推奨されるアプローチは修正/上書きのようです/usr/share/polkit-1/actions/org.freedesktop.NetworkManager.policy
。sudo
もしきれいな方法ご存知の方お気軽に教えてください!
以下は本当に良いガイドです。しかし、ドイツ語になっています。https://wiki.ubuntuusers.de/NetworkManager/NetworkManager_ohne_GUI/
答え2
wlan0
以下は、dhcpを介して統計を確認して接続し、IPアドレスを取得するサンプルスクリプトです。
/bin/ip link set wlan0 up
if grep -q 0 /sys/class/net/wlan0/carrier
then
killall wpa_supplicant
/sbin/wpa_supplicant -B -i wlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf > /dev/null 2>&1
/sbin/dhclient -r
/sbin/dhclient > /dev/null 2>&1
fi
1分ごとにこのスクリプトを実行するクローンジョブです。
* * * * * /path/to/script.sh
編集する:接続をテストするために使用できますping
。
/bin/ping -q -c3 8.8.8.8 > /dev/null
if [ $? -ne 0 ]
then
killall wpa_supplicant
/bin/ip link set wlan0 up
/sbin/wpa_supplicant -B -i wlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf > /dev/null 2>&1
/sbin/dhclient -r
/sbin/dhclient > /dev/null 2>&1
fi