S nástrojem nmcli jsou nezbytné kroky:
-
ověřte, zda je NetworkManager verze 1.0.6+:
$ nmcli -v nmcli tool, version 1.9.0
-
zkontrolujte GENERAL.METERED na rozhraní:
$ nmcli -t -f GENERAL.METERED dev show eth1 GENERAL.METERED:unknown
-
hodnoty jsou:
unknown, yes, no, yes (guessed), no (guessed)
-
Vynucení hodnoty se provádí takto:
$ nmcli dev modify wlan1 connection.METERED yes Connection successfully reapplied to device 'wlan1' $ nmcli -t -f GENERAL.METERED dev show wlan1 GENERAL.METERED:yes
Chcete-li získat seznam seskupený podle zařízení:
$ nmcli -t -f GENERAL.DEVICE,GENERAL.METERED dev show
GENERAL.DEVICE:wlan1
GENERAL.METERED:yes
GENERAL.DEVICE:eth1
GENERAL.METERED:unknown
GENERAL.DEVICE:lo
GENERAL.METERED:unknown
Pokus o omezení na informace pouze o výchozí trase by stále vyžadoval volání jiného příkazu, protože NetworkManager se nesnaží rozlišovat mezi více zařízeními v připojeném stavu:
$ nmcli -t -f GENERAL.DEVICE,GENERAL.METERED dev show `ip route list 0/0 | sed -r 's/.*dev (\S*).*/\1/g'`
Přes D-Bus můžete také získat naměřený stav aktuálního připojení. Z shellu můžete použít busctl
:
busctl get-property org.freedesktop.NetworkManager /org/freedesktop/NetworkManager org.freedesktop.NetworkManager Metered
což je pouze jeden příkaz, na rozdíl od nmcli
řešení a v jiných programovacích jazycích může být efektivnější používat přímo D-Bus namísto volání nmcli
.