Experimenting with NetworkManager
Opensuse Tumbleweed is currently using NetworkManager-1.0.0. I decided to do some testing.
My tests were all done using the same laptop computer and connecting to the WiFi network I normally use at home. Plasma 5, Gnome 3.16, XFCE and LXDE are all installed. And opensuse always installs Icewm.
I was primarily looking at compatibility questions related to the different desktops.
How I tested
I started with no network configuration. I then logged into one desktop, and configured a connection. I then investigated whether I could still access the network from a different desktop. My tests were mainly with Icewm, Gnome and Plasma 5. Using WiFi from XFCE or from LXDE should be similar to what I was seeing with Icewm, and I did check that.
When I had finished a round of tests, I then rebooted to a different system. That could have been a live rescue USB, though I actually used opensuse 13.2 installed in different partitions on the same computer.
While booted to the different system, I mounted the root partition that I had used with Tumbleweed. Then I deleted all of the files in “/etc/NetworkManager/system-connections” and all of the files in “/var/lib/NetworkManager”. That left NetworkManager at close to its initial state with no WiFi networks configured.
I should note that, by itself, Icewm has no support for WiFi and NetworkManager. But it is easy enough to run both “/usr/lib/polkit-gnome-authentication-agent-1” and “nm-applet”. I start those in a shell script at “$HOME/.icewm/startup” which is automatically run on login to Icewm (assuming that the script exists). Note that “nm-applet” is part of the Gnome NetworkManager software.
With those running, there is a network icon on the panel that can be used.
To define a connection, I clicked on that icon. It listed visible WiFi networks. I selected the network that I wanted, and was prompted for the WPA key. I entered that. And, soon I had a network connection.
I then right-clicked on the icon, and selected “manage connections”. I could then select the network I was using, and click “Edit” to make changes for the connection. I changed the MTU to 1480 (best for my IPv6 connection). I then changed the IPv6 privacy extensions to enable it and use the temporary address.
The next step was to logout, then login as a different user. I had no network as that different user (expected behavior). I logged out again, then logged in as the original user. I was again connected.
I next tried login with Gnome. And the network was already running there. And I tried login to Plasma 5, and I again had network there, with no prompt for kde-wallet.
I should note that the network key was saved in a root-readable file in “/etc/NetworkManager/system-connections”. The file name was the SSID for the connection (including spaces).
Summary: setting up in Icewm (with “nm-applet” and the Gnome polkit applet works pretty well and is usable on all desktops.
Using Plasma 5
I cleared out the configuration as described earlier in this post. I then tried connecting in Plasma 5.
There is a tray icon for the network. I clicked on that. It gave me a list of WiFi networks. I selected the one I wanted. I was prompted for the key, which I provided.
I was then prompted to setup kde-wallet, and provide a password for that. I did so.
Later, I clicked the tray icon, selected the network I was connected to, and clicked the tool to get into settings for that network. I was able to set the MTU and the IPv6 privacy options.
After logout, then login again, I was prompted for the kwallet password. After giving that, the network was connected.
You will note a difference here. When I setup the connection in Icewm, I could use it in Plasma 5 without kwallet. But when I setup the connection in Plasma 5, I was always prompted for a kwallet password to use the network. This is because the network key was being saved in kwallet, instead of in the NetworkManager configuration files.
I then logged out, and logged into Gnome. I was prompted for the network key. After providing that, the network was connected. Gnome did not attempt to save the key anywhere. After logout, then login again, I was again prompted for the key.
On a hunch, I got into the network settings in Gnome, and edited this connection. I gave it the WiFi key. That was apparently saved in the NetworkManager configurations for the connection. The network now behaved as it had when setting up in Icewm. In particular, it connected in Plasma 5 without asking for the kwallet password.
Summary: setting up WiFi in Plasma 5 will require using kwallet, and will require giving the network key if you login to a different desktop such as Gnome.
I again cleared out the settings and tried again with Gnome. There was no network icon showing, so it was not obvious how to setup. I clicked on the battery icon in the panel at the top of the screen. And that gave me a menu which included the possibility of setting up a WiFi connection.
Setting up the connection was similar to what I had to do in Icewm, with one exception. I could not set IPv6 privacy extensions. Apart from that, it behaved much as it had when setup in Icewm.
I then logged into Plasma 5, and was connected (no kwallet prompt). I went it edit the connection. And there were places to set the IPv6 privacy extensions. But they were grayed out. I could not set that. I later set that using Icewm.
Summary: setting up the network in Gnome works pretty well, except that it is a little less flexible. In particular some settings, such as IPv6 privacy extensions, are not available.
If you don’t like the kwallet prompts, then you might prefer to setup your network in Icewm (requires installing the Gnome applet and the Gnome polkit applet). Alternatively, you could probably disable the usual NetworkManager applet in Plasma 5, and instead run “nm-applet” there. I have not tried that, but it looks doable.
There is another alternative. You can set the network to be shared with all users. That way, the network key is always stored in NetworkManager settings files, and you will not be prompted for the kwallet password once you have made this a shared connection. And that’s what I usually do.