Desktops don't always use NetworkManager's programs

October 3, 2021

Three things are definitely true on modern Linux and modern Linux desktops. Pretty much everyone is using NetworkManager, NetworkManager includes GUI frontends, and desktops have GUI interfaces for controlling your active networks and configuring them. In a nice regular universe, the desktop's GUI frontends would be using the NetworkManager GUI frontends like nm-applet and nm-connection-editor, and would thus usually automatically support everything that NetworkManager itself supports (since the NetworkManager developers tend to update their GUI frontends when they add features like support for WireGuard or for "metered" connections).

Unfortunately this isn't a nice regular universe, so several major desktops do not use the NetworkManager programs for their GUI and as a result can be missing support for NetworkManager features. GNOME and Cinnamon definitely use their own code for both controlling active network connections (what nm-applet is used for) and for configuring network connections (what nm-connection-editor is used for). Cinnamon's version doesn't support WireGuard VPNs or setting connections to "metered" status, as I've found out over time; I don't know about the state of GNOME's. I believe that KDE has its own applet; I don't know if it uses the NetworkManager connection editor.

(The GNOME and Cinnamon desktop shells both implement applets as Javascript code that runs in the context of the desktop shell, instead of as separate programs. However, Cinnamon can use nm-applet instead of its own thing if you do the right magic things. I don't know about GNOME.)

Generally you can run nm-connection-editor directly if you want to (and remember what it's called); it appears to work when run directly even in a GNOME Wayland session. Some desktop environments (such as Cinnamon) may offer you a confusingly named additional "applet" menu option that runs nm-connection-editor instead of the desktop's own connection editor (on my Cinnamon desktop it's called "Network Connections", instead of the "Network Settings" that invokes Cinnamon's own, limited version). Unfortunately as far as I know there may be no way to run nm-applet instead of your desktop's less up to date version, and even if you can you may lose other features in the overall desktop environment.

You might reasonably ask why this matters. One of the reasons it's mattered for me in the past is that it can be rather confusing to read some online documentation and then not find what it's talking about in my Cinnamon desktop environment, because the online writing is talking about the official NetworkManager way (and may be written by someone on a desktop environment that does use the NM programs). It also complicates having full support for things like metered connections and WireGuard links, because it's not enough for them to be present in the official NetworkManager programs; they also have to make their way into all of the desktop reimplementations.

PS: The situation with nm-applet can be especially confusing in Cinnamon (at least); my desktop session actually has a nm-applet process running, despite not using it. A test GNOME session doesn't behave this way. Since my Cinnamon desktop environment has been around for a while (it looks like since 2013, since even my laptop environment has been long-lived), starting nm-applet may be inherited from old days when Cinnamon actually used it.

Written on 03 October 2021.
« Firefox on Unix is moving away from X11-based remote control
Modern TLS has no place left for old things, especially clients »

Page tools: View Source, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Sun Oct 3 00:26:38 2021
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.