2つの使用可能なwi-fi接続の1つに接続するシェルスクリプトを作成する必要があります。 1つは安全でない接続で、もう1つは安全な接続です。私の質問には2つの部分があります。
セキュリティで保護された接続に接続しているときに、コマンドラインから(またはシェルスクリプトを実行して)セキュリティで保護されていない(暗号化されておらず、パスワードも不要)接続に接続する方法
安全な接続のために http://www.ubuntugeek.com/how-to-troubleshoot-wireless-network-connection-in-ubuntu.html の手順に従いました。すべてのコマンドをスクリプトに入れて実行しました(インターフェイス名とessidが正しいことを確認しました)
Sudo dhclient -r wlan0
Sudo ifconfig wlan0 up
Sudo iwconfig wlan0 essid "UAPublic"
Sudo iwconfig wlan0 mode Managed
Sudo dhclient wlan0
しかし、何も起こりません。現在のネットワークから切断されず、新しいネットワークに接続されません。
セキュリティで保護されたwi-fiネットワークに接続する場合、 https://askubuntu.com/a/138476/70665 から理解します。wpa_supplicant
を使用する必要があります。しかし、UIを介して接続するとき、インターフェイスに多くの詳細を入力します
Wpa_supplicantを使用して、これらすべての詳細をコマンドラインで言及する方法confファイル
network={
ssid="ssid_name"
psk="password"
}
私にはうまくいきません。
特に指定していないので、Ubuntuデスクトップを使用していると想定しています。
/etc/NetworkManager/system-connections
にファイルを作成することにより、Network Managerによって管理されるワイヤレスネットワーク構成を作成できます。既存のファイルを見て、フォーマットがどのように見えるかを確認してください。
接続が作成されたら、nmcli
コマンドを使用して、コマンドラインからNetworkManagerを管理し、接続の有効化、無効化、クエリなどを実行できます。
ちなみに、システムテストツール(チェックボックス)には、まさにこれを行うスクリプトがあります。接続を作成し、コマンドラインで指定したパラメーターを使用して接続を有効にします。
たとえば、これはオープンな「アヒル」ネットワークへの接続を作成します。
Sudo /usr/share/checkbox/scripts/create_connection duck
これにより、WPA2セキュリティと「wings」パスワードを使用したネットワークへの接続が作成されます。
Sudo /usr/share/checkbox/scripts/create_connection -S wpa -K wings duck
スクリプトはPythonで記述されているため、ニーズを簡単に確認して適応させることができます。
スクリプトのヘルプにはこう書かれています:
Usage: create_connection [options] SSID
Options:
-h, --help show this help message and exit
-S SECURITY, --security=SECURITY
The type of security to be used by the connection.
One of wpa and wep. No security will be used if
nothing is specified.
-K KEY, --key=KEY The encryption key required by the router.
-U UUID, --uuid=UUID The uuid to assign to the connection for use by
NetworkManager. One will be generated if not
specified here.
-R RETRIES, --retries=RETRIES
The number of times to attempt bringing up the
connection until it is confirmed as active.
-I INTERVAL, --interval=INTERVAL
The time to wait between attempts to detect the
registration of the connection.