nm-online(1) ask NetworkManager whether the network is connected


nm-online [OPTIONS...]



is a utility to find out whether we are online. It is done by asking NetworkManager about its status. When run, nm-online waits until NetworkManager reports an active connection, or specified timeout expires. On exit, the returned status code should be checked (see the return codes below).

By default NetworkManager waits for IPv4 dynamic addressing to complete but does not wait for the auto IPv6 dynamic addressing. To wait for IPv6 addressing to complete, either (1) change the network connection's IPv6 may-fail setting to no, and/or (2) change the IPv6 addressing method to manual or dhcp, to indicate that IPv6 connectivity is expected.


-t | --timeout seconds

Time to wait for a connection, in seconds. If the option is not provided, the default timeout is 30 seconds.

-x | --exit

Exit immediately if NetworkManager is not running or connecting.

-q | --quiet

Don't print anything.

-s | --wait-for-startup

Wait for NetworkManager startup to complete, rather than waiting for network connectivity specifically. Startup is considered complete once NetworkManager has activated (or attempted to activate) every auto-activate connection which is available given the current network state. (This is generally only useful at boot time; after startup has completed, nm-online -s will just return immediately, regardless of the current network state.)


nm-online exits with status 0 if it succeeds, a value greater than 0 is returned if an error occurs.


Success - already online or connection established within given timeout.


Offline or not online within given timeout.


Unknown or unspecified error.