Seeing that MATE 1.26 has landed in impish
with " added Wayland support" I thought I’d see how it works with Mir.
Set up a VM
Firstly I used Multipass to set up a VM and install the MATE desktop:
multipass launch -n mate-testing impish
multipass shell mate-testing
This gets a terminal session logged into the VM, from this I installed “stuff”:
sudo apt update
sudo apt upgrade --assume-yes
sudo apt install mate-desktop-environment yaru-theme-icon
sudo snap install --classic egmde
Then to get a default egmde configuration file I ran egmde (it can’t run in this terminal because there’s no graphics capability in this terminal but this creates a default configuration file):
egmde --help >> /dev/null
Here’s a diff of the changes I made:
$ diff .config/egmde.config~original .config/egmde.config
14c14
< enable-x11=
---
> # enable-x11=
23c23
< shell-components=/snap/egmde/current/bin/swaybg.launcher:/snap/egmde/current/bin/waybar.launcher
---
> shell-components=/snap/egmde/current/bin/swaybg.launcher:mate-panel
26c26
< # swaybg.image=/usr/share/backgrounds/warty-final-ubuntu.png
---
> swaybg.image=/usr/share/backgrounds/mate/desktop/GreenTraditional.jpg
29c29,32
< app-env-amend=QT_QPA_PLATFORM=xcb
---
> # app-env-amend=QT_QPA_PLATFORM=xcb
>
> # Key repeat doesn't play nice with X forwarding lag
> enable-key-repeat=false
>
> # Autostart stuff
> enable-autostart=true
Now, we want to egmde to autostart any processes that MATE components expect, so we have a few more incantations:
cp `grep -l OnlyShowIn.*MATE /etc/xdg/autostart/*` .config/autostart/
sed -i s/OnlyShowIn=MATE/OnlyShowIn=egmde/ .config/autostart/*
vi .config/egmde.config
Now there’s stuff we installed that needs a reboot so:
sudo reboot
That will bring us back to the original shell on the host. The VM may take a little time to become responsive but then to put ssh keys inside the VM I make use of a script from https://github.com/AlanGriffiths/multipass-utils:
multipass-enable-ssh mate-testing
Starting the Mir session
This uses another script from https://github.com/AlanGriffiths/multipass-utils:
multipass-ssh-X mate-testing sh -lc egmde
This opens a new shell with X forwarding to the host desktop. Mir uses this to run a graphical shell in a desktop window.
dbus-run-session egmde
OK, that isn’t quite perfect and the console offers some clues:
** (mate-panel:3026): WARNING **: 14:31:44.399: Failed to load 0x7efdb000dc80, because it does not support Wayland
dbus-daemon[2986]: [session uid=1000 pid=2986] Activating service name='org.mate.panel.applet.WnckletFactory' requested by ':1.1' (uid=1000 pid=3026 comm="mate-panel " label="snap.egmde.egmde (complain)")
dbus-daemon[2986]: [session uid=1000 pid=2986] Activating service name='org.mate.panel.applet.TrashAppletFactory' requested by ':1.1' (uid=1000 pid=3026 comm="mate-panel " label="snap.egmde.egmde (complain)")
** (mate-panel:3026): WARNING **: 14:31:44.453: Failed to load 0x55766a7d19b0, because it does not support Wayland
dbus-daemon[2986]: [session uid=1000 pid=2986] Activating service name='org.mate.panel.applet.BriskMenuFactory' requested by ':1.1' (uid=1000 pid=3026 comm="mate-panel " label="snap.egmde.egmde (complain)")
Unable to open desktop file /usr/share/applications/firefox.desktop for panel launcher: No such file or directory
** (mate-panel:3026): WARNING **: 14:31:44.496: Failed to load 0x55766a746060, because it does not support Wayland
So, I clicked away the “Error” dialogs which left me with blank top and bottom panels. But right clicking on them succeeds in getting a menu where I could add the “Classic Menu”. Some of the other options to add give errors. E.g. for the clock:
** (mate-panel:1182): WARNING **: 15:24:41.188: Could not ask session manager if shut down is available: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files
Unable to open desktop file /usr/share/applications/firefox.desktop for panel launcher: No such file or directory
dbus-daemon[1129]: [session uid=1000 pid=1129] Activating service name='org.mate.panel.applet.ClockAppletFactory' requested by ':1.1' (uid=1000 pid=1182 comm="mate-panel " label="snap.egmde.egmde (complain)")
** (mate-panel:1182): WARNING **: 15:24:48.426: Could not ask session manager if shut down is available: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files
** (clock-applet:1376): WARNING **: 15:24:48.554: Requested out-of-process applet, which is only supported on X11
dbus-daemon[1129]: [session uid=1000 pid=1129] Activated service 'org.mate.panel.applet.ClockAppletFactory' failed: Process org.mate.panel.applet.ClockAppletFactory exited with status 1
OK I guess, there’s a dbus service (or services) missing that is expected to be around. I’ll leave that for a deeper pass (if I get around to it).
I tried starting up a few of the applications from the menu I added earlier. They seem to work:
So, basically “stuff works”.