The world of Linux: Where making a laptop engage its wired connection when attached to a dock is an exercise in frustration.
As a recent beneficiary of a laptop upgrade, I took the
opportunity to re-examine my choice of Linux distribution that I use
day-to-day. After a year of Arch Linux,
and that distro deciding to move to the systemd init system, plus the
depreciation of the far from impressive PreUpgrade tool in favour of a
new upgrade experience on Fedora called FedUp, I decided that I would return to the land of Fedora.
Arch was, and still is, a very good Linux distribution — the
community is good, and the Arch User Repository is as good as people say
it is. In retrospect though, it was the move to systemd that made me
decide to move on from Arch.
Changing an init system on an already installed system is just asking
for trouble, but eventually when a confluence of issues regarding GNOME
and Arch made it impossible to continue without making the transition
to systemd, I duly followed. The process was not as torturous as it
could be, as I'd already made the switch previously at home with my
Gentoo box, so I had some idea what I was in for.
But after transitioning over to systemd, it is a brave user that
blows away all the remnants of the old init system that they were using,
as there is generally one or two services that do not work with
systemd, or are so tightly integrated with the existing init system that
you may need to wait a release or two to get systemd compatibility.
In essence, what you end up with is a hybrid system that doesn't know whether it is Frankenstein's monster or Kuato from Total Recall.
And thanks to my home Gentoo box, I'd already had one of those things
in my life already, hence I decided to go full systemd, and give Fedora
another shot.
At the same time that I was returning from the world of Arch Linux to
Fedora, it had acquired a dock to go along with the new Lenovo laptop —
even though it is a laptop, it does spend most of its time attached to
monitors, keyboards, and other peripherals, so it made sense to end the
ritual of plugging and unplugging the same cords at the start and end of
each day.
Everything on the dock worked as it should, with two notable
exceptions: having a network cable connected to the ethernet port on the
dock did not fire a cable connection event, and it is impossible to
record from auxiliary audio line on the dock if a pair of headphones are
connected to the laptop itself.
The latter I have slowly turned to live with, because it is not often
that I need to record from the auxiliary line, and is easily fixed by
removing the headphones from the jack.
The former issue, despite the effect that a lack of connectivity has
on modern desktop usage, was actually quite easily solved by quickly
shooting the mouse to the top right of the desktop and clicking on the
network icon of my GNOME 3 desktop to force enabling of the wired
connection.
It sounds like a lot of movement, but it was really less than a
second of work, and it wasn't too much trouble — if it was a bigger
deal, I would have investigated why the connection was not being enabled
at boot each day.
What forced me to dig deeper was the attraction of trying out Fedora 20, Heisenbug, which was currently in beta.
As with every Fedora release, an upgrade to the latest release of GNOME occurs, and time I was updated to GNOME 3.10.
GNOME developers will do what GNOME developers do so well, and that
means removing features with startling regularity. Consequently that
little icon that I had relied upon at the start of each day was removed,
and in its place was a wi-fi icon — wired connectivity had been exiled
to the GNOME network settings panel.
Now I was forced to work dig into the inner workings of network connectivity involving NetworkManager and systemd.
A natural place to start would be the configuration file for
NetworkManager, /etc/NetworkManager/NetworkManager.conf, but it
contained only a one line reference to a Red Hat plugin, ifcfg-rh, that meant that all network configuration scripts would be stored in /etc/sysconfig/network-scripts/
Thanks to the changes in udev-197, network interfaces in Linux now have "predictable" names,
gone is the eth0, eth1 names of old, and in its place is enp0s25 (in my
particular piece of hardware). Therefore, in order to configure this
interface, we need to edit /etc/sysconfig/network-scripts/ifcfg-enp0s25.
To get the network interface to come up on boot, all that is needed is to add ONBOOT=yes to the file.
It's not much work once you know where to look, but it is not as
simple as toggling a default connection status in the graphical
interface that used to exist in GNOME, nor is it quite as straight
forward as manipulating network settings Gentoo, but much of that can
probably be put down to familiarity with that distro.
0 comments:
Post a Comment
Appreciate your concern ...