Adventures of the Retired Guy

Adventures of the Retired Guy

Stuff and nonsense from a retired guy

12 Aug 2019

Wayland on Ubuntu (19.04)

Initially, not seeing many problems, and kudos to the project teams who undoubtedly worked had to bring things to this level.

Lots of good work has gone into this update/replacement for X.org. I noticed the option to use it when logging in one day and will document my impressions as I go along. I wasn't encountering any GUI issues with X.org, so will not be too patient about sticking with wayland if I run into too many problems. But I'm paying my taxes in trying to use the latest and greatest that the community has to offer.

Can't run gparted (and other GUI apps) via sudo

Ok, this is just a inter-project stubbornness. Wayland chose to prohibit a user from attaching to a GUI session created by another user, even if the first user is root or other privileged user. See discussion under "Wayland" here . This is counter to Unix culture, as root has traditionally bypassed security checks elsewhere in Unix and Linux.

GParted project responded by creating an installation workaround which, of course, works for them but not other graphical tools that the user might want to run with privileges. That's all I really need, personally.

But now Ubuntu wears the donkey hat. They apparently decided to not accept the GParted fix (to apply pressure to Wayland folks to fix their "regression"? because they have an approach (pkexec -> polkit migration) that eventually fixes this and a long list of other apps? see here).

So now the perfect is the enemy of the good. It's 2 years later and Ubuntu can't make wayland the default compositor because these incompatibilities. It seems ready for prime time otherwise (though I am not a gamer and there might be other issues to be resolved). Wayland team is not getting the usage they deserve, so it will take them longer to find and fix problems. And developers have to live with a foot in both camps till the new winner is eventually, inevitably crowned.

Bah: I'll take the risk for my own use. Here's a wrapper for sudo that temporarily enables root user access to my session, ~\bin\dosudo

#!/bin/bash
xhost +si:localuser:root > /dev/null
/usr/bin/sudo $*
xhost -si:localuser:root > /dev/null

I invoke it from .bashrc as an alias (so I have access to my personal aliases in a sudo session):

# preserve aliases in SUDO session (see: https://wiki.archlinux.org/index.php/Sudo#Configuration)
# also, under wayland, use xhost workaround to allow root apps access to my GUI session...
if [ "$XDG_SESSION_TYPE" == "wayland" ]; 
then
    alias sudo='dosudo '; 
else
    alias sudo='sudo ';
fi

Undoubtedly there are ways the sudoed application could exit that my shell script would not get a chance to remove session privileges...

Update: Ubuntu 19.10, still going strong

I've updated to 19.10, the "E" release, still using Wayland and not worrying about it. This update fixed some minor tearing and flickering I had seen especially in the logon screen, and I'm not seeing any regressions.