The Evolution mailer in a headless Wayland remote desktop, on an Xorg system

Having accumulated a fair number of old computers, and being unable to throw any of them away as long as they are not absolutely totally broken, I use x2go a lot. I also would like to use the Evolution mailer over x2go occasionally. Alas, while it worked good enough in Debian 12, on Debian 13 it’s only possible when x2go shares the real desktop (the one running on the GPU), not in a headless / virtual desktop. There it segfaults immediately, probably because it wants some kind of GL / hardware acceleration. Which is a bit silly for an e-mailer, but there we go.

One could dive into VirtualGL or other complicated settings; but why not try out Wayland. I’ve nothing against Wayland, but always one or another condition was holding me back. (Mostly the fact that alternative desktop environments like XFCE or LXDE have not switched; together with my habit of x2go; and on a tablet, the lack of a really good on-screen keyboard like Onboard. I guess many people on Xorg still have some kind of corner case.)

It turns out that Evolution works flawlessly in a virtual Wayland display, which happily runs along your Xorg session, and you can remote-control it with classic VNC from any system. For Debian 13, I use “labwc” as the window manager and “foot” as a terminal emulator:

sudo apt install wayvnc labwc foot

# labwc needs some configuration, see https://labwc.github.io/getting-started.html
mkdir ~/.config/labwc
echo "foot &" > ~/.config/labwc/autostart
cat << 'EOF' > ~/.config/labwc/menu.xml
<?xml version="1.0" ?>
<openbox_menu>
<menu id="root-menu" label="">
<item label="Evolution"><action name="Execute" command="evolution"/></item>
<item label="Terminal"><action name="Execute" command="foot"/></item>
<item label="Reconfigure"><action name="Reconfigure"/></item>
<item label="Exit"><action name="Exit"/></item>
</menu>
</openbox_menu>
EOF

# start virtual desktop
export WLR_BACKENDS=headless
export WLR_LIBINPUT_NO_DEVICES=1
labwc &
export WAYLAND_DISPLAY=wayland-0
wayvnc 127.0.0.1 8888

Then you can connect with vncviewer (with the proper SSH redirection; or if you use your local network address instead of 127.0.0.1 in the last command). If you want to fetch back minimised windows, you probably need to set up keybindings or a panel. Still, evolution will work.

This entry was posted in Uncategorized. Bookmark the permalink.