Arch Linux Wi-Fiは手動で動作しますが、どのように自動的に作成できますか?

Arch Linux Wi-Fiは手動で動作しますが、どのように自動的に作成できますか?

私のRaspberry Piで、カーネル3.6.11-12-ARCH +を使用してArch Linuxを実行します。

次のコマンドを実行した後に実行および動作するLinksys Wi-Fi USBドングル(WUSB54GC v3)があります。

$> sudo ifconfig wlan0 up
$> sudo iwlist scan
$> sudo iwconfig wlan0 mode managed essid myssid key "mykey" retry 7
   # Only had to do this next one the first time
$> sudo wpa_passphrase myssid "mypassword" > /etc/wpa_supplicant/wpa_supplicant.conf 
$> sudo wpa_supplicant -B -Dwext -iwlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
$> sudo dhcpcd wlan0

このデバイスが起動するたびにWi-Fiを動作させるにはどうすればよいですか?結局、有線接続(つまり、Wi-Fi)がない場所に展開したいのですが、毎回Wi-Fiを手動で起動/接続する必要がある場合は、明らかにそうすることはできません。

答え1

netctlを使用する必要があります。 Arch Linuxに組み込まれたネットワーク管理システムです。まだインストールされていない場合(インストールされている必要があります)、実行してサンプル構成ファイルがあることをpacman -Syu netctl確認してください。 /etc/netctl/etc/netctl/examples

すばやく起動して実行するには:

  1. ワイヤレスアダプタのデバイス名をメモしてください。私の例のすべてのインスタンスをwlan0設定に一致する名前に置き換えます。
  2. 必要なパッケージがインストールされていることを確認してください。

    pacman -Syu wpa_supplicant dhcpcd

    1. WPAで保護されているアクセスポイントにはwpa_supplicantが必要です。DHCPサーバーを使用してすべてのネットワークからIPを取得するには、Arch Linux wikiに記載されているようにdhcpcdが必要です。
  3. 適切な例をコピーします。

    cp /etc/netctl/examples/wireless-wpa /etc/netctl/somedescriptivename

  4. /etc/netctl/somedescriptivename設定に合わせて新しい設定を編集してください。
  5. netctl-autoワイヤレスアダプタに対してこのサービスを有効にします。wlan0設定のデバイス名に戻します。

    systemctl enable [email protected]

参考にするいくつかの点があります。

  • アクセスポイントの範囲内にある場合、netctl は /etc/netctl のすべての設定ファイルに自動的に接続されます。
  • Security=wpa-configsectionこの設定はおよびを使用するプロファイルにのみ適用されますSecurity=wpa
  • 以前に有効になっていたすべてのWi-Fiプロファイルを無効にするために使用されますnetctl disable profilename。それ以外の場合、netctl-autoが有効になると、netctlは起動時に2回起動します。

詳細については、次を参照してください。Netctl Wikiエントリ

答え2

構成ファイルを作成する方法の推測をいくつか取り除くことは、より簡単なアプローチですnetctl(次から取得)。netctlアーチウィキページ):

wpa_supplicantステップ1。 OPの説明に従って、手動でワイヤレスインターネットを設定します。システムにインストールされていない場合は、を実行してください$ pacman -S wpa_supplicant

dialogステップ2。パッケージも必要なので、$ pacman -S dialogシステムを再起動したり、ワイヤレスネットワーク接続を切断したりできます。

Step 3. 実行$ wifi-menu -o後、非常に簡単なWindows/Macスタイルの設定に進みます。システムネットワークIDのデフォルト値を表示できます$ sudo netctl list。値は形式ですwlan098-SSID(ここではSSID = WLAN名)。

ステップ4。最後に、$ netctl enable wlan098-SSIDシステムを実行して再起動します。$ reboot

ただし、次のようなエラー メッセージが表示されることがあります。temporarily unable to resolve nameそれとも何でも、もう一度pingを試してみてください。

答え3

私の意見で説明されているように、他のすべての答えには欠陥があると思います。

このステップは、最も強力なホットスポットに自動的にリンクされます。 systemdを使用して標準のアーチインストールでテストされました(他のオペレーティングシステムでも機能します)。

ワンタイム設定:

  • ダイアログボックス、wpa_supplicant、dhcpcd、netctl、wifi-menuがインストールされていることを確認してください。

  • xfceでxfce4-wavelan-pluginを追加し、必要なパネルに追加します。これは、接続されたときに表示されるインジケータだけです。他の目的はありません。

  • 他のすべてのネットワーク管理者およびサービスを削除または無効にします。 https://wiki.archlinux.org/index.php/Netctl#Wireless

  • 以前に作成したネットワークプロファイルを削除します。 https://www.ostechnix.com/fix-job-netctl-service-failed-error-arch-linux/

または、@JacobWiltseが他の回答に関するコメントで説明したように、ただ無効にしてください。wiki.archlinux.org/index.php/Netctl#無線

  • WiFiデバイスIDを取得 basename $(ls -d /sys/class/net/w*)

  • netctl-auto サービスを有効にします。自動的に接続されるサービスです。 systemctl enable [email protected]

初めてホットスポットに接続する:

  • ランニングwifi-menu。ルートが必要です。 pkexec wifi-menu -o または sudo wifi-menu -o

-o入力中にネットワークパスワードを表示するには予約してください。

  • 下矢印を押して目的の接続を選択し、Enterキーを押して接続名を受け入れ、パスワードを入力します。

必要に応じてホットスポットを追加してください。その後、netctl-autoは利用可能な最も強力なホットスポットに自動的に再接続されます。

関連情報