Automation solutions that work with Wayland

So far I’ve been able to emulate most the functionality from OSX on PureOS Linux… and some things allot better.

The #1 problem yet to be solved: Automation & macros.

Keyboard Maestro is the automation tool I used on OSX.

I’ve tried AutoKey, Actiona, and all the snippets solutions I could find.

So far, none of them worked. Wayland seems to get in the way.

Bash scripts are useful for some things, don’t replace snippets and the macros functionality Maestro offered (plus the time to code up a script for each task just takes far too long compared to a GUI builder.)

At this point I’m contemplating changing my root OS to another Linux distro just to get automation.

What is the reason for Wayland? Why does automation tools seem not to support it? (security risk?)

What else is everyone using for automation to replace core functionality automation functionality like Autokey?

Here is a video from one of the X11 and Wayland developers on why X11 needed to be replaced / why wayland is better.

On X11, every program has access to every window and every key press. This makes automation tools trivial to write but also makes keyloggers trivial to write.

1 Like

Currently there’s few ways to enter key presses and mouse motion in Wayland compositors. There are a couple of reasons.

First, X11 was a single project, and it had all that functionality. In Wayland world, there are several compositors, and each must implement extra functionality on their own. Obviously, there are laggards.

Then, Wayland is new enough not all relevant standards have emerged yet. There’s one for mouse motions, but one for keyboard input is rather bad (I know, I proposed it myself).

Finally, I don’t think there’s agreement in how to make that kind of stuff secure. Wayland’s advantage is that no application can smack input into another application without asking the user for permission. But so far getting that permission has not been figured out, as far as I know.

1 Like

Following up on what @craftkiller said, I think if anything, Wayland attempts to be more secure than X11, but this currently can cause some issues with graphical applications (for instance, I don’t think Wayland permits running a GUI as root).

The issue is that Wayland is relatively “new” (a few years old) compared with X11’s decades of prevalence, so most things (or at least, most commercial software) are written with X11 in mind, and I think not much work has happened to update things for Wayland.

There’s also not been much motivation for companies to add Wayland support, because most distros also still support running X11 sessions (and many still use X11 as default).

Even on PureOS, you should be able to login using X11 if you wish. From the GNOME login screen, click the gears, and select the X11 session (depending on whether you are using PureOS Amber or Byzantium, your menu may look different - this screenshot is from Byzantium with GNOME 40)
Screenshot from 2021-04-09 12-18-37

1 Like

I take it logging in to System X11 will open of the security issues?

If I sandbox my productivity OS to a VM, with my root VM PureOS or Qubes, will it close these security holes X11 is opening?

Would the automation tools work in the VM? Or would the root OS need to be using X11 as well?

Again, I’m no expert, but if you want to shift things to a VM, then I would suggest leaving PureOS in Wayland, and using a VM in an X11 session. The security question I think would then be “what data is accessible inside the VM”, as that should be the only stuff accessible to any exploit in X11.

If you keep most of your data on your host OS, and only keep temporary and/or unimportant files in the VM, it certain seems ok to me.