Project Zebra: kingdom of the gnomes ►

◄ A crude macro to restart Outlook when closed accidentally

2017-05-08 📌 Project Zebra: a need for understanding not vengeance

Tags All Linux Tech Personal

This entry is part of my Project Zebra series covering migration to Linux for personal computing use.

Other things took precedence over looking at the background of Xfce and Xubuntu at the tail end of last month, mainly the upgrade to (X)Ubuntu 17.04, investigating Crossover Office and ditto Ubuntu Gnome. I'm still sort of at the stage where software in the Linux ecosystem can be a bit exciting and going with that. However, the peevish-looking penguin to the right reflects my mood with regard to how smoothly the upgrade went.

In passing, I've found a use for workspaces. I'm finding I tend to keep Foobar and the LibreOffice documents I use for notes and want left open on a second.

Upgrading to 17.04:

It took about half an hour to download the 1.4Gb of new packages on my connection, and about the same again to apply them. In the process the panel died bit by bit, PulseAudio and the applications menu I use faring particularly badly and icons disappearing from a lot of places. To be fair, you're supposed to leave the computer alone whilst doing major distro release type upgrades -- all I was doing was catching up with Elementary whilst using another machine, so it didn't matter.

All wasn't entirely plan sailing afterwards and this is liable to get a bit sweary because some of the issues relate to poor design decisions and how they've been rolled out.

Starting with minor stuff -- following a restart, Whisker Menu appears to have been updated to GTK3 and in the update lost favourites and config (I'm guessing it has a config file somewhere else now). Irritatingly it doesn't follow the hard 3D edges set in my desktop style config. The bug whereby its icon would black out when taskbar window buttons were dragged around seems to be fixed, though, so it's not all bad, and you can see how Xfce is gradually absorbing aspects of GTK3 -- I'm glad I'd already modified the settings for its default thin and absolute position style scrollbars (those changes weren't overwritten) and after a day or so you get used to the different visual. I might even have a go at customising my desktop style to use more Adwaita type elements some time, because my issue with that theme isn't the look but some of its functionality.

I'm making a note here that /etc/X11/xsession.d/56ubuntusession was overwritten, just in case I need to re-apply any changes relating to Qt and GTK.

As always, don't forget to re-enable your third party repositories after upgrading.

The biggest issue I noticed immediately -- and it's a big one -- is that the version of Network Manager that currently ships with Xubuntu (and apparently Ubuntu Gnome and other flavours) includes a config change that cripples wi-fi so that it can't maintain a connection by "helpfully" randomising MAC addresses:

https://blogs.gnome.org/thaller/2016/08/26/mac-address-spoofing-in-networkmanager-1-4-0/

Solution came from here:

https://askubuntu.com/questions/902992/ubuntu-gnome-17-04-wi-fi-not-working-mac-address-keeps-changing

i.e. To turn it off,

sudo mousepad /etc/NetworkManager/NetworkManager.conf

and add

Then do a

sudo service network-manager restart

I'm using a common older Belkin device, not a bleeding edge no-name wifi card or stick (and tried several other USB wifi devices first) so I suspect the issue will impact on a lot of people.

It'd be fine if this was a privacy setting left to users to try, but to whichever idiot decided to default it to on and not even expose the setting to the UI: congratulations on being a huge part of the reason desktop Linux remains the preserve of people like us. Changes that impact on network connectivity are a classic example of what you don't want to break to retain user confidence.

Also a connectivity problem, although apparently not Network Manager's fault, DNS lookups became grindingly slow -- for the most part the the first time, but I was still getting timeouts on major sites such as Google. The culprit seems to be systemd-resolved inserting itself as a layer between the browser and Network Manager, which makes it the first time I can appreciate greybeard comments about systemd seeming to be a buggy, poorly tested POS that interferes with things that were working perfectly well.

http://www.hecticgeek.com/2017/04/ubuntu-17-04-systemd-dns-issues/ https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1682499

Several days later (21/04/2017) there was an update available for systemd (and resolved specifically -- it's worth reading the release notes on updates) that turned off DNSSEC for Zesty. One would assume there's been something for the mac address issue as well, except that won't be of use to anyone that couldn't get online at all because of it...

Again, it isn't possible to throw these kind of curve balls at end users, whether in a longterm support release or not, without shaking trust and confidence. The silver lining is that it's worth using Google's DNS for responsiveness anyway.

Meanwhile, others are reporting that notifyd hangs Thunar --

https://www.reddit.com/r/xfce/comments/5sl171/thunar_automount_feature_freezes_thunar/

But maybe I should be re-evaluating my W40K metaphor of Ubuntu being the Ultramarines and thinking about trialling Fedora as a base with an Xfce respin, rather than Xubuntu. Redhat's reputation for using the distro as a testing ground for its enterprise products is tempered by favourable reviews and focus on mixing current versions of software with enough polish that accusations of it succumbing to Black Rage / Red Thirst erraticness aren't that common, so maybe a Blood Angels comparison is unfair.

Office:

I also decided to try Office 2013 with the new claimed support in Wine (since I had an unused cheap HUP key from work) and decided in the interest of reliability to try Crossover -- using BLACKBEARD as a promo code for 25% off because CodeWeavers have a sense of humour.

As a reminder that Microsoft makes you jump through unreasonable hoops to use software you've paid for, it did still take an extra bit of config to get the activation sorted, running cmd on the bottle:

https://www.codeweavers.com/compatibility/crossover/forum/microsoft-office-2013/?mhl=193810;msg=193810

Once installed you can create launcher shortcuts to Office apps by dragging them to the desktop, then copying those to /usr/share/applications/ as root.

I also tweaked font rendering on the bottle slightly via regedit, bearing in mind that I've already got the embeddedbitmap parameter set to false in ~/.config/fontconfig/fonts.conf for Thunderbird, so I'd rather not have the Wine components simply not bother trying to smooth at low point sizes.

HKCU>Control Panel>Desktop

As with ordinary Wine I am a little concerned at what scope exists for exploitation by Windows malware since the filesystem is mapped as Z: and home as Y: by default; it's important to remember that although not strictly a Windows environment Wine isn't a sandbox either.

The drives are just symbolic links, so you could remove the entries in ~/.cxoffice/Microsoft_Office_2013/dosdevices/ and create new ones with the ln -s command:

https://www.codeweavers.com/support/docs/crossover-pro/driveconfig

The downside is that this may impact on the bottle's control panel, which can be partly worked around by copying anything else you need to run within the bottle to ~/.cxoffice/Microsoft_Office_2013/drive_c/ instead of trying to execute it directly, and you also need to bear in mind home folders are symlinked for use within the Wine environment.

So it might be good enough for documents I've created or a small number of trusted work sources, but for sandboxing a better approach would be to run another version of Linux (which may as well be an LTS release) in VirtualBox, install Crossover in that, and only let it touch specific files and folders on your main install. You can run in Seamless mode for desktop integration if that's your sort of thing.

Unfortunately, even cursory usage proved it's still buggy as fuck, and basic things like using tracked changes crashed. So back to Office 2007 it is.

Testing Gnome:

After the news that stock Ubuntu will be adopting Gnome next April I decided to have more of a fiddle with it in a virtual machine. Nothing too in-depth, just starting with what I tend to think of as "minimum bearable configuration" -- the things you need to set up to be okay with using a desktop environment for any length of time.

First thing is to reduce the font size and add back the minimise and maximise window icons using Tweak Tool. You're still stuck with very tall window widgets designed for tablets, though, and fundamentally that's part of a (bloody annoying) design paradigm rather than a theme issue because GTK3 header bars aren't title bars per se and can contain icons. Ditto the overly thin scroll bars. By default you also don't get any themes other than Adwaita.

A rather rude awakening was that Gnome Classic apparently doesn't allow panel customisation in the way Gnome 2 did and most other desktop environments such as Xfce do.

So if you want that it's over to https://wiki.gnome.org/Projects/GnomeFlashback

sudo apt-get update; sudo apt-get install gnome-session-flashback

With Flashback, you can Alt+Win-RightClick then chose Add to Panel and choose Window List, then get rid of the bottom panel.

That gets me to roughly the same point as my dabbling in March with the latest KDE, except that unlike Dolphin the file manager (Nautilus) has no GUI option for a tree style view. You can hit up Dconf Editor and navigate to org > gnome > nautilus > list-view > use-tree-view -- but note that this isn't a tree pane like in traditional file managers and can take some getting used to.

It's certainly usable, but if you're having to install additional software to configure real basics is there much point to using that desktop environment apart from curiosity? There isn't much inherent gain from using Gnome as you can use GTK (or Qt) based applications with your choice of DE.

The reason Gnome 3 -- like a lot of software -- attracts so much dislike is its all-or-nothing approach: the design decisions made to enable particular types of use (elements sized and laid out for touchscreens, focusing on a current activity rather than having a dozen windows opens, etc)

https://www.gnome.org/gnome-3/ | https://en.wikipedia.org/wiki/GNOME_Shell

As the Wikipedia article currently notes:

"the GNOME Shell is intended to be used on desktop computers with large screens operated via keyboard and mouse, as well as portable computers with smaller screens operated via their keyboard, touchpad or touchscreen. This approach is criticized by most users, a opinion poll in Distrowatch website at November 2016 shows that most voters (1448 vote - 76%) want separate user interfaces for each type of devices."

Quite why developers on Microsoft's side as well as others have such a hard-on for convergence isn't very clear -- the best responsive website designs don't try to do the same things on totally different types of screens, so in the same way Windows 8, 8.1 and 10 have been a poor fit with servers, using Gnome on desktops (or servers -- although an equivalent of RDP seems to be a less common paradigm on Linux) plus small portables and giving each the same feel satisfies very few. The most hyped Linux distro, Mint, uses Gnome 2 style desktop environments in its main flavours.

This isn't a new observation by any stretch, with much ranting linked by this old writeup alone: https://felipec.wordpress.com/2013/06/12/the-problem-with-gnome-3/

Or the founder of Linux:
http://www.theregister.co.uk/2012/09/04/linux_desktop_failure_flames/
http://www.theregister.co.uk/2012/11/07/passion_of_torvalds/

Or comments like this in otherwise glowing reviews:
https://arstechnica.co.uk/gadgets/2016/12/fedora-25-review-the-best-linux-distro-of-2016-arrived-at-the-last-moment/

"Perhaps the best news for GNOME fans in this release is that GNOME 3.22 has reached a new development stability plateau. This means, for example, that GNOME shell's extension API is now considered stable, which in turn means that any shell extension you rely on will continue to work as-is when you update. Yes, it's come to this: GNOME 3.22's headlining feature is that the tools you rely on to turn GNOME into a workable desktop no longer break with every new release."

Breaking the user experience by removing functionality users depend on is something that would doubtless have gone over much better in all cases if a new project and name other than Gnome had been chosen, and that attached to the https://developer.gnome.org/hig/stable/

Is anyone going to back down in the way Canonical have with Unity? Unlikely. Are people going to continue to step up with forks of the kind seen with Mint and with ways to force configurability? Almost certainly. In the meantime, Xfce continues to make the kind of incremental progress fans of the traditional desktop metaphor like to see (to the extent I doubt there's anything to choose between it and Gnome 2 in terms of things it can't do by now) and will hopefully make decent choices with its gradual GTK3 adoption -- maybe with its own Tweak Tool in the main DE in time.

I will actually get around to a piece discussing the traditional desktop metaphor and with some glowing words about Xfce rather than looking at what everyone else is doing, eventually. Because to the largest extent it's enabled me to carry on doing what I've been doing for most of my computing life as well or better, largely without chipping away at configurability and control in the way that seems to increasingly plague Windows.

Postscript:

Still on the subject of GTK3 I considered using Zukitre as my theme, but given how few applications I use have header bars I've just turned off rounded corners and "more content" dashed indicators, adjusted the header bar padding and background colour enough to not be jarring, and made a few further tweaks on top of the default Adwaita for simple 3D scrollbars, not worrying about different hover/active styling. "Exact positioning" scrolling is obvs still turned off.

The relevant bits of my user files stand at:

~/.config/gtk-3.0/settings.ini

~/.config/gtk-3.0/gtk.css

💬 Comments are off, but you can use the mail form to contact or see the about page for social media links.