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은 부팅 시 이를 두 번 시작합니다.

자세한 내용은 다음을 참조하세요.Netctl 위키 항목.

답변2

구성 파일을 만드는 방법에 대한 추측을 일부 없애는 더 간단한 접근 방식입니다 netctl(다음에서 가져옴).netctl아치 위키 페이지):

wpa_supplicant1단계. OP에 설명된 대로 수동으로 무선 인터넷을 설정합니다. 시스템에 설치되어 있지 않으면 을 실행하십시오 $ pacman -S wpa_supplicant.

dialog2단계. 패키지 도 필요하므로 $ 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아니면 뭐든지, 다시 핑을 시도해 보세요.

답변3

내 의견에 설명된 대로 다른 모든 답변에는 결함이 있다고 생각합니다.

이 단계는 가장 강력한 핫스팟에 자동으로 연결됩니다. systemd를 사용하여 표준 아치 설치에서 테스트되었습니다(다른 운영 체제에서도 작동할 수 있음).

일회성 설정:

또는 @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는 사용 가능한 가장 강력한 핫스팟에 자동으로 다시 연결됩니다.

관련 정보