노트북에 Ubuntu, Manjaro 또는 기타 그래픽 Linux 배포판을 설치할 때 노트북의 비행기 모드 버튼을 누르면 비행기 모드를 활성화할 수 있습니다.
Linux 배포판에서 비행기 모드 개념은 어떻게 작동합니까?
블루투스, Wi-Fi 및 기타 무선 장치에 대한 일련의 규칙입니까?
비행기 모드 제어 구현이 창 관리자, 네트워크 관리자, x11 또는 다른 곳에 표시됩니까?
특정 시스템(KDE/Linux, Gnome/Linux 또는 기타 일반 시스템)의 비행 모드 제어 메커니즘에 대한 (상위 수준의) 설명을 제공할 수 있는 사람이 있습니까?
답변1
대부분의 경우 "비행기 모드"는 모든 무선("무선") 연결을 끊고 가능한 연결을 찾는 활동 프로브 전송을 중지하는 것을 의미합니다.
대부분의 Linux 시스템에서 Wi-Fi 네트워크 연결은 NetworkManager를 통해 관리됩니다. 다른 무선 네트워크 연결 관리자도 사용할 수 있습니다.
게다가 또 다른 개념이 있는데고주파 킬. RFKILL은 무선 송신기를 차단한다는 의미입니다. 존재하다일부이 경우 상위 계층(예: Wi-Fi 드라이버)은 RFKILL을 인식하고 ERFKILL
"RF-kill로 인해 작업이 불가능합니다"라는 특정 오류 코드를 반환할 수 있습니다. 예를 들어 명령이 iw dev wlp2s0 scan
이 오류를 반환할 수 있습니다.
Gnome Shell 또는 기타 GUI 시스템의 비행 모드는 하드웨어가 지원하는 경우 RFKILL을 활성화합니다. 그러나 모든 라디오에 RFKILL 컨트롤이 없더라도 GUI를 사용하면 비행기 모드를 활성화할 수 있습니다. 부분적으로는 GUI가 RFKILL 컨트롤과 라디오 간의 연관성을 안정적으로 알 수 없기 때문입니다 :-).
Gnome Shell에서 키보드의 비행기 모드 버튼은 비행기 모드를 전환하기 위한 키보드 단축키일 뿐입니다. 비행기 모드가 활성화되면 코너 메뉴에 다시 끌 수 있는 버튼도 표시됩니다.
nm-applet
NetworkManager용 GUI를 제공하기 위해 다른 여러 GUI가 사용됩니다 . Wi-Fi를 비활성화하는 방법이 있다고 가정 nm-applet
하지만 그 외에는 Wi-Fi가 정확히 무엇을 제공하는지 잘 모르겠습니다.
또한 RFKILL은 운영 체제가 읽기만 할 수 있는 물리적 스위치일 수 있습니다. 즉, 하드웨어/펌웨어에서 덮어쓰는 것을 허용하지 않을 수 있습니다. 이것을 "하드 rfkill"이라고 합니다. 운영 체제가 제어할 수 있는 경우 이를 "soft rfkill"이라고 합니다.
위 링크의 설명대로 명령어를 사용하시면 됩니다 rfkill
. rfkill list
, 또는 간단히 를 사용하면 rfkill
hard rfkill이 활성화되어 있는지와 장치 이름이 무엇인지 확인할 수 있습니다.
들어가서 구경도 할 수 있어요 /sys/class/rfkill/
. 확인하는 방법을 알면 /sys/
이름을 찾을 수 있습니다.운전사지정된 RFKILL 컨트롤을 노출합니다. 예를 들어
$ cd /sys/class/rfkill
$ ls
rfkill1 rfkill2 rfkill3 rfkill8
$ grep -H . */name
rfkill1/name:dell-wifi
rfkill2/name:dell-bluetooth
rfkill3/name:phy0
rfkill8/name:hci0
$ ls -l
total 0
lrwxrwxrwx. 1 root root 0 Apr 6 10:03 rfkill1 -> ../../devices/platform/dell-laptop/rfkill/rfkill1
lrwxrwxrwx. 1 root root 0 Apr 6 10:03 rfkill2 -> ../../devices/platform/dell-laptop/rfkill/rfkill2
lrwxrwxrwx. 1 root root 0 Apr 6 10:03 rfkill3 -> ../../devices/pci0000:00/0000:00:1c.3/0000:02:00.0/ieee80211/phy0/rfkill3
lrwxrwxrwx. 1 root root 0 Apr 6 15:53 rfkill8 -> ../../devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.3/1-1.3:1.0/bluetooth/hci0/rfkill8
$ readlink rfkill8
../../devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.3/1-1.3:1.0/bluetooth/hci0/rfkill8
$ cd rfkill8
$ readlink device
../../hci0
$ cd device
$ readlink driver
$ cd device
$ readlink driver
../../../../../../../bus/usb/drivers/btusb
$ cd driver
$ readlink module
../../../../module/btusb
블루투스
Gnome은 가장 통합된 Linux GUI 시스템 중 하나이며 Bluetooth 지원을 포함합니다. 내 Gnome 시스템의 비행기 모드가 Bluetooth RFKILL을 활성화하는 것을 볼 수 있습니다. 낙관적으로 저는 Bluetooth 장치에 RFKILL 제어 기능이 없더라도 Gnome의 비행기 모드가 모든 Bluetooth 연결을 중지할 것이라고 추측합니다. (또한 가능한 Bluetooth 연결을 찾는 활동 프로브 전송을 중지하세요.) 내 시스템에는 bluetoothd
Bluetooth 장치 관리를 담당하는 이라는 고유한 프로세스가 있습니다 . 그러나 이것은 나에게 약간의 미스터리입니다.
"비행기 모드" 문제
역사적으로 비행기 모드 또는 이와 유사한 기능에서 가장 일반적인 문제는 키보드 버튼을 누르는 등 실수로 활성화했다는 것입니다. 그러면 Wi-Fi가 작동하지 않고 그 이유나 해결 방법을 알 수 없습니다. 그러나 현재 Gnome 쉘은 소프트 rfkill에 매우 좋습니다. 비행기 모드가 활성화되면 Wi-Fi 메뉴에 "Wi-Fi 끄기"가 표시됩니다. Wi-Fi 메뉴에서 "네트워크 선택"을 클릭하면 비행기 모드가 활성화되었다는 중요한 알림이 표시되고 비행기 모드를 즉시 비활성화할 수 있는 버튼이 제공됩니다.