As the release of Fedora 21 nears, it’s time to get all my ducks in a row — at least with respect to being ready to upgrade.
I’ve enjoyed working with the MATE desktop. By and large I’ve found it to be a very reasonable work environment. Although it still has a few kinks that need working out, most of those are more the result of how far Linux has changed due to the influence of the projects hosted on freedesktop.org. Most important of those is systemd, which has succeeded in altering how Linux works in dramatic ways. Most users won’t know the difference, or care. But I suspect developers, especially desktop environment developers, do and will.
All that said I’m planning to dive even deeper into that pool when Fedora 21 is released. Specifically my plan is to upgrade to what should be the first iteration of the Fedora Next (developer’s) workstation release. To do that I’m now in the process of bringing my workstations back to their standard GNOME Desktop configurations.
Fedora is, and has for a very long time been, a Gnome-centric distribution. As a result it’s prudent to make sure everything, including Gnome itself, is completely up to date before upgrading from one major version to another.
This is relatively easy, and only involves a few steps on Fedora 20.
1. Install the GNOME Desktop package group. On my systems, which were earlier stripped of most Gnome Shell components, that was around 150Mb of packages.
yum groupinstall "GNOME Desktop"
2. Switch from lightdm to the gdm login manager.
systemctl disable lightdm systemctl enable gdm
4. Login to Gnome Desktop (after entering username a password, click on gear icon and select “GNOME”, then ENTER).
5. Remove MATE and lightdm.
yum groupremove "MATE Desktop" yum remove "lightdm"
6. Add/remove packages as needed.
On my systems I added:
pavucontrol. The Pulse Audio volume control applet. It gives much finer grained control over inputs and outputs than Gnome’s minimalist volume control.
pavumeter. This is the Pulse audio VU meter applet. Just nice to have, as a comparison to the VU meters built into pavucontrol.
evolution. Evolution hasn’t worked for years. It’s just an annoyance at this point that only gets in the way because so many defaults in Gnome are configured to use it.
empathy. This multi-protocol messaging client is also still too buggy to allow it on my desktop. Like evolution it is configured as the default for many parts of Gnome and so needs to go.
7. Configure Gnome Shell. Basically this mostly involves adding/removing extensions found at extensions.gnome.org. Just be sure to have your browser accept changes from the site. In Firefox you’ll see the message “Allow extensions.gnome.org to run ‘Gnome Shell Integration’?” at the top of the screen. Click “Allow… Allow and Remember”. The extensions I find most useful are:
Places Status Indicator
Advanced Volume Mixer
GNOME Shell Open Terminal
Note that these extensions are installed on an individual user basis. They will not be available for other users until they are added by that user logging in and selecting them on the extensions site.
There’s no longer a button to “allow file manager to control the desktop”. To disable the features this used to provide (like putting icons on the desktop) you simply have to go to the Desktop tab and turn “Icons on Desktop” off.
Also missing was an obvious way to get back the minimize, maximize and close buttons on toolbars. Googling about I found this simple solution over on StackOverflow:
gsettings set org.gnome.shell.overrides button-layout ':minimize,maximize,close'
As with everything having to do with making Gnome more tolerable, don’t be surprised if this command doesn’t work in a future version.
On one of my systems I had to re-apply the old Disabling the gnome user list fix, another reminder of the level of interest that the Gnome devs have in enterprise computing.
Writing this after a couple of days back on Gnome Shell.
The look and feel of the thing is as impressive as ever, especially the extensions architecture. But the login manager, power management and related functions like recovery from long (and not so long) idle periods, still needs a lot of work. After the reliability of lightdm and MATE in those areas that’s disappointing. NetworkManager and systemd behave well enough so long as you accept whatever they’re going to do and don’t ask more of them (that’s easy enough to do on a laptop, more difficult on a developer workstation or server). Pulse Audio is still just as much the maladjusted child as it ever was.