.. title: Gnome 3.10 breaks switching between wired network configurations by design
.. date: 2015-07-07 21:05
.. tags: linux, gnome3, ubuntu
.. slug: gnome-3-10-nm
.. type: text

A while ago started building a virtual machine with Ubuntu 14.04 LTS
that I could pass on to interested parties when needed.  As I am not a
big fan of the standard installation (I'll write a separate article on
what was needed to make that somewhat acceptable), this time I went
straight for the latest GNOME LTS Ubuntu as I generally like the UI.
It took a little bit of adjustment moving from Gnome 2 to Gnome 3, but
in the end I found the move to be an improvement yielding a decent
desktop environment with nice eye candy.

Having done the basic setup of the system, there seemed to be a minor
bug, as the network indication wasn't displayed anymore in the
top right corner.  As the standard DHCP connection mode worked at this
time, I did not give it any further attention and moved on.

.. image:: /images/gnome-3.10.png
   :alt: Gnome 3.10 Notification Area
   :align: center

.. TEASER_END
   
To be usable for embedded development the network configuration again
returns to the centre of attention.  Working with an external board, I
want to use at least tftp and NFS services from the host.  The easiest
way to achieve this without a lot of configuration is to use ``bridged
mode`` for the guest network adapter allowing incoming connections to
the VM.  Now as developers usually do not control the DHCP server, it
is common practice to use static IP addresses from one of the private
ranges (usually the 192.168/16 net) for the client and the server.

All of this is easily done with the help of ``nm-connection-editor``.
Just create a ``DHCP`` and a ``Static IP`` configuration and right
clicking on the wired connection icon allows fast and easy switching
between the profiles.

Or at least this is how it *used* to work.  This time however the
network icon simply did not appear. Bummer.  Opening the Network
section from the System Settings shows the connections, but there is
simply no way to activate one of the shown profiles.  Double-clicking
just opens the Options dialog.

After some head scratching I decided to refresh my knowledge on how to
control network manager from the command line and indeed quickly found
a workaround.  Activating either configuration can be done with one
of these commands::

  nmcli con up id DHCP
  nmcli con up id "Static IP"

Documenting this was enough to move on and so I made a mental note to
return and investigate the situation more closely once time permitted.

Over several weeks I returned briefly to the problem, but was not able
to get to the root of the problem.  Web searches yielded a lot of hits
but they all pivoted on ``nm-applet`` not showing up and possible
solutions to fix this.  While none of the descriptions or solutions
matched my problems, I was kind of blocked for quite some time trying
to find out why no ``nm-applet`` was running on my system and why even
starting it by hand did not change anything.

Having wasted more time running down dead ends (`simply reinstall
component
... <http://askubuntu.com/questions/506824/nm-applet-does-not-work-ubuntu-14-04>`_
and triple checking the network manager configuration), at a certain
stage I found the interesting information that Gnome 3.10 doesn't even
use ``nm-applet`` anymore but instead integrates the functionality
into ``gnome-shell``.  Ok, that explained why I barked up the wrong
tree for too long and swiftly led me to the real story behind the
problem: `Not showing the icon is a deliberate design decision
<https://bugzilla.gnome.org/show_bug.cgi?id=708966>`_.

Realising that the original workaround turned out to be the *only* way
for something that was easy in Gnome 3.8 is kind of shocking.  Ok,
maybe there is something to be said for not wasting display real
estate for static information, but declaring a use case very much
central to embedded development as unimportant did not go down easily
with me.

So in the future I hope that it will again be easier to do what I
want, but until then explaining to people why I like Gnome 3 has
gotten a great deal more difficult.
