NetworkManager:デバイスの現在の接続をデータ通信に設定する

NetworkManager:デバイスの現在の接続をデータ通信に設定する

wlp2s0NetworkManagerを使用して測定するデバイス(たとえば)に現在接続されている接続をどのように設定しますか?

測定/測定されていない状態がまだ推測されるように設定を解除するにはどうすればよいですか?

注:一部のホットスポットは測定され(例:マイ携帯電話)、一部は測定されません(たとえば、自宅)。したがって、デバイスにこの機能を設定することは私が望むものではありません。

ベストアンサー1

これが最善の答えではないことを心から願っています。単純な場合は複雑に見え、バイナリSSIDが許可されている場合はさらにそうです。とにかく、ここにあります:

デバイスの現在の接続を取得します

nmcli -t -f GENERAL.CONNECTION --mode tabular device show $DEVICE | head -n1

-t末尾にスペースが追加されるので必要です。そうでなければ(!?)

現在の計量状態を表示

nmcli -f connection.metered connection show $CONNECTION

$CONNECTION前のコマンドから返された文字列はどこにありますか?

測定状態の変更

有効な状態はyesnoおよびですunknownunknownデフォルトで、DHCPオプションなどに基づいて推測します。ANDROID_METERED (引用)

例:$ CONNECTIONを測定するように設定します。

nmcli connection modify $CONNECTION connection.metered yes

バイナリSSIDを許可

これを「正しく」(SSIDに32のランダムオクテットを許可する)には、次のようにする必要があります。装備GENERAL.CON-PATH

nmcli -t -f GENERAL.CON-PATH --mode tabular device show DEVICE | tail -n1

これにより、次のような文字列が返されます。/org/freedesktop/NetworkManager/ActiveConnection/39

その後、このパスを使用してつながるGENERAL.CON-PATH気づく:一つあるその他値(デバイスCON-PATH==接続GENERAL.DBUS-PATH

nmcli -t -f GENERAL.CON-PATH -m tabular connection show apath /org/freedesktop/NetworkManager/ActiveConnection/39

これにより、次の文字列が返されます(/org/freedesktop/NetworkManager/Settings/5注なしActiveConnection)。その後、接続を変更するために使用できます。

nmcli connection modify /org/freedesktop/NetworkManager/Settings/<NUMBER> connection.metered <VALUE>

おすすめ記事