I am a new Linux user and have settled on Ubuntu 24.04.3 LTS in Wayland. In Windows, I used AutoHotKey to automate the keyboard to type repetitive text strings with a hotkey e.g. pressing Alt+E to type my@email.com

I believe the solution in Linux is to install an application like dotool or ydotool and then create a custom shortcut command. The problem is I cannot get dotool and ydotool to work. I’ll document the issues I’m having with ydotool as there seems to be more awareness and support for this application.

I am following the instillation instructions here:

https://askubuntu.com/questions/1413829/how-can-i-install-and-use-the-latest-ydotool-keyboard-automation-tool-working-o

Everything seems to go fine until I get to this step and get the following error:

sudo systemctl enable ydotoold

Failed to enable unit: Unit file ydotoold.service does not exist.

I came across this issue which suggests it could be a permissions issue on /dev/uinput and tried to the solution provided in that post but I still can’t enable ydotoold after a reboot.

Running this command works:

ydotoold --version

v1.0.4-38-g708e96f

But I am stuck here and not sure how to troubleshoot or progress further. Any help would be appreciated, thank you!

  • DarkSpectrum@lemmy.worldOP
    link
    fedilink
    arrow-up
    4
    ·
    3 days ago

    Thanks for the reply Hades, the output of that command is:

    /.

    /usr

    /usr/lib

    /usr/lib/systemd

    /usr/lib/systemd/user

    /usr/lib/systemd/user/ydotoold.service

    /usr/local

    /usr/local/bin

    /usr/local/bin/ydotool

    /usr/local/bin/ydotoold

    /usr/local/share

    /usr/local/share/man

    /usr/local/share/man/man1

    /usr/local/share/man/man1/ydotool.1.gz

    /usr/local/share/man/man8

    /usr/local/share/man/man8/ydotoold.8.gz

    • hades@feddit.uk
      link
      fedilink
      arrow-up
      8
      ·
      edit-2
      3 days ago

      Ah okay, it’s a user unit then. Try the following:

      $ systemctl --user enable ydotoold
      $ systemctl --user start ydotoold