web-dev-qa-db-ja.com

Linuxの「機内モード」の概念

ラップトップにUbuntu、Manjaro、またはその他のグラフィカルLinuxディストリビューションをインストールする場合、ラップトップの機内モードボタンを押すと、機内モードを有効にできます。

Linuxディストリビューションで機内モードの概念はどのように機能しますか?

それはBluetooth、wifi、その他のワイヤレス関連のルールのセットにすぎませんか?

機内モード制御の実装は、ウィンドウマネージャー、ネットワークマネージャー、x11、またはその他の場所に表示されますか?

特定のシステム(KDE/Linux、Gnome/Linux、またはその他の一般的なシステム)での機内モード制御のメカニズムの説明(高レベル)を提供できる人はいますか?

2
davmos

ほとんどの場合、「機内モード」とは、無線(「ワイヤレス」)接続を切断し、アクティブなプローブの送信を停止して可能な接続を見つけることを意味します。

ほとんどのLinuxシステムでは、Wi-Fiネットワーク接続はNetworkManagerを介して管理されます。他のワイヤレスネットワーク接続マネージャーが利用可能です。

さらに、 [〜#〜] rfkill [〜#〜] という概念があります。 RFKILLは、特定の無線送信機を遮断することを意味します。 一部の場合、Wi-Fiドライバーなどの上位レイヤーがRFKILLを認識し、特定のエラーコードERFKILL、を返す場合があります。 「RF-killのため操作できません」。たとえば、コマンドiw dev wlp2s0 scanはこのエラーを返す場合があります。

Gnome Shellまたは他のGUIシステムの機内モードは、ハードウェアがサポートしている場合、RFKILLをアクティブにします。ただし、すべての無線機にRFKILLコントロールがない場合でも、GUIで機内モードを有効にできる場合があります...一部には、GUIがRFKILLコントロールと無線デバイス間の関連付けを確実に伝えることができないためです:-)。

Gnome Shellでは、キーボードの機内モードボタンは、機内モードを切り替えるための単なるキーボードショートカットです。機内モードを有効にすると、コーナーメニューにボタンを表示してオフに戻すこともできます。

他のいくつかのGUIは、nm-appletを使用してNetworkManagerにGUIを提供します。 nm-appletにはWi-Fiを無効にする方法があったと思いますが、それ以上に、どの機能が提供されるのか正確にはわかりません。

さらに、RFKILLは、オペレーティングシステムが読み取ることしかできない物理スイッチである可能性があります。つまり、ハードウェア/ファームウェアがオーバーライドを許可しない可能性があります。これは「ハードrfkill」と呼ばれます。オペレーティングシステムが制御できる場合、それは「ソフトrfkill」と呼ばれます。

上記のリンクで説明されているように、rfkillコマンドを使用できます。 rfkill list、または単にrfkillを使用すると、ハード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は最も統合されたLinuxGUIシステムの1つであり、Bluetoothのサポートが含まれています。 Gnomeシステムの機内モードでBluetoothのRFKILLがアクティブになっていることがわかります。楽観的には、BluetoothデバイスにRFKILL制御がない場合でも、Gnomeの機内モードでBluetooth接続が停止すると思います。 (また、Bluetooth接続の可能性を見つけるためにアクティブなプローブの送信を停止します)。私のシステムにはbluetoothdと呼ばれる別個のプロセスがあり、Bluetoothデバイスの管理にある程度の責任があると思います。しかし、これは私には少し不思議です。

「機内モード」の問題

歴史的に、機内モードまたは同様の機能の最も一般的な問題は、意図しないときに誤ってアクティブにしたことです。キーボードボタンを押すことによって。その場合、Wi-Fiが機能せず、その理由や修正方法がわからない可能性があります。しかし、私の現在のGnome Shellは、ソフトrfkillについてはかなり優れています。機内モードが有効になっている場合、Wi-Fiメニューには「Wi-Fiオフ」と表示されます。 Wi-Fiメニューの[ネットワークを選択]をクリックすると、機内モードが有効になっていることがわかり、機内モードをすぐに無効にするボタンが表示されます。

3
sourcejedi

(機内モード)は、Bluetooth、wifi、その他のワイヤレス関連のルールのセットにすぎませんか?

はい、ネットワークをオフにするだけです。 Wikipedia artical を読んでください。

エアモード制御の実装は、ウィンドウマネージャー、ネットワークマネージャー、x11、またはその他の場所に表示されますか?

デスクトップ環境

エアモード制御に問題がある場合、問題を把握するためにどの部分に焦点を当てるべきですか?

これはメタ機能であるため、問題を無視してネットワークを直接無効/有効にすることができます。

Gnome 、および [〜#〜] kde [〜#〜] からのコメント。

0
user1133275