Espanso not working on Arch Linux Wayland after KDE Plasma 6 Update (Keyboard layout bug)
Omar-Ebrahim-1 opened this issue · comments
Describe the bug
Espanso is not starting
To Reproduce
Steps to reproduce the behavior:
-> espanso restart
espanso is not running!
espanso started correctly!
but it hasn't actually restarted. The issue I believe is because of the keyboard layout, I saw same issues, but when I added
keyboard_layout:
layout: "us"
to my espanso config default.yml, I still have the same issue.
Logs
If possible, run espanso log
in a terminal after the bug has occurred, then post the output here so that we can better diagnose the problem
❯ espanso log
20:24:56 [daemon(35070)] [INFO] reading configs from: "/home/arch/.config/espanso"
20:24:56 [daemon(35070)] [INFO] reading packages from: "/home/arch/.config/espanso/match/packages"
20:24:56 [daemon(35070)] [INFO] using runtime dir: "/home/arch/.cache/espanso"
20:24:56 [daemon(35070)] [INFO] system info: Arch Linux v - kernel: 6.7.8-arch1-1
20:24:56 [daemon(35070)] [WARN] keyboard layout watcher couldn't determine active layout.
20:24:56 [daemon(35070)] [INFO] watching for changes in path: "/home/arch/.config/espanso"
20:24:56 [daemon(35070)] [INFO] espanso version: 2.2.0
20:24:56 [daemon(35070)] [INFO] spawning the worker process...
20:24:56 [daemon(35070)] [INFO] binded to IPC unix socket: /home/arch/.cache/espanso/espansodaemonv2.sock
20:24:56 [worker(35076)] [INFO] reading configs from: "/home/arch/.config/espanso"
20:24:56 [worker(35076)] [INFO] reading packages from: "/home/arch/.config/espanso/match/packages"
20:24:56 [worker(35076)] [INFO] using runtime dir: "/home/arch/.cache/espanso"
20:24:56 [worker(35076)] [INFO] system info: Arch Linux v - kernel: 6.7.8-arch1-1
20:24:56 [worker(35076)] [INFO] binded to IPC unix socket: /home/arch/.cache/espanso/espansoworkerv2.sock
20:24:56 [worker(35076)] [INFO] using WaylandAppInfoProvider
20:24:56 [worker(35076)] [WARN] unable to determine keyboard layout automatically, please explicitly specify it in the configuration.
20:24:56 [worker(35076)] [INFO] monitoring the status of the daemon process
20:24:56 [worker(35076)] [INFO] using EVDEVSource
20:24:56 [worker(35076)] [INFO] Querying modifier status...
20:24:56 [worker(35076)] [ERROR] thread 'detect thread' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }': espanso-detect/src/evdev/sync/wayland.rs:193
20:24:56 [worker(35076)] [ERROR] thread 'engine thread' panicked at 'unable to receive from the init_rx channel: RecvError': espanso/src/cli/worker/engine/funnel/mod.rs:124
20:24:56 [worker(35076)] [ERROR] Unable to block the LinuxEventLoop: receiving on an empty and disconnected channel
20:24:56 [worker(35076)] [ERROR] thread 'main' panicked at 'unable to run main eventloop: receiving on an empty and disconnected channel': espanso/src/cli/worker/mod.rs:160
20:24:56 [daemon(35070)] [ERROR] received unexpected exit code from worker 101, exiting
Setup information
- Version: which version of Espanso are you running? (you can find out by running
espanso --version
inside a terminal)
❯ espanso --version
espanso 2.2.0
Espanso log with keyboard layout set as us
❯ espanso restart
espanso is not running!
espanso is already running!
❯ espanso log
21:07:37 [daemon(10363)] [INFO] reading configs from: "/home/arch/.config/espanso"
21:07:37 [daemon(10363)] [INFO] reading packages from: "/home/arch/.config/espanso/match/packages"
21:07:37 [daemon(10363)] [INFO] using runtime dir: "/home/arch/.cache/espanso"
21:07:37 [daemon(10363)] [INFO] system info: Arch Linux v - kernel: 6.7.8-arch1-1
21:07:37 [daemon(10363)] [WARN] keyboard layout watcher couldn't determine active layout.
21:07:37 [daemon(10363)] [INFO] watching for changes in path: "/home/arch/.config/espanso"
21:07:37 [daemon(10363)] [INFO] espanso version: 2.2.0
21:07:37 [daemon(10363)] [INFO] spawning the worker process...
21:07:37 [daemon(10363)] [INFO] binded to IPC unix socket: /home/arch/.cache/espanso/espansodaemonv2.sock
21:07:37 [worker(10369)] [INFO] reading configs from: "/home/arch/.config/espanso"
21:07:37 [worker(10369)] [INFO] reading packages from: "/home/arch/.config/espanso/match/packages"
21:07:37 [worker(10369)] [INFO] using runtime dir: "/home/arch/.cache/espanso"
21:07:37 [worker(10369)] [INFO] system info: Arch Linux v - kernel: 6.7.8-arch1-1
21:07:37 [worker(10369)] [INFO] binded to IPC unix socket: /home/arch/.cache/espanso/espansoworkerv2.sock
21:07:37 [worker(10369)] [INFO] using WaylandAppInfoProvider
21:07:37 [worker(10369)] [INFO] detection module will use this keyboard layout: [R=, M=, L=us, V=, O=]
21:07:37 [worker(10369)] [INFO] monitoring the status of the daemon process
21:07:37 [worker(10369)] [INFO] using EVDEVSource
21:07:37 [worker(10369)] [INFO] Querying modifier status...
21:07:37 [worker(10369)] [ERROR] thread 'detect thread' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }': espanso-detect/src/evdev/sync/wayland.rs:193
21:07:38 [worker(10369)] [ERROR] thread 'engine thread' panicked at 'unable to receive from the init_rx channel: RecvError': espanso/src/cli/worker/engine/funnel/mod.rs:124
21:07:38 [worker(10369)] [ERROR] Unable to block the LinuxEventLoop: receiving on an empty and disconnected channel
21:07:38 [worker(10369)] [ERROR] thread 'main' panicked at 'unable to run main eventloop: receiving on an empty and disconnected channel': espanso/src/cli/worker/mod.rs:160
21:07:38 [daemon(10363)] [ERROR] received unexpected exit code from worker 101, exiting
And if I do
❯ setxkbmap -query
WARNING: Running setxkbmap against an Xwayland server
rules: evdev
model: pc105
layout: us
and run espanso with
keyboard_layout:
layout: us
rules: evdev
model: pc105
variant: eng
I get
❯ espanso log
21:29:14 [daemon(19502)] [INFO] reading configs from: "/home/arch/.config/espanso"
21:29:14 [daemon(19502)] [INFO] reading packages from: "/home/arch/.config/espanso/match/packages"
21:29:14 [daemon(19502)] [INFO] using runtime dir: "/home/arch/.cache/espanso"
21:29:14 [daemon(19502)] [INFO] system info: Arch Linux v - kernel: 6.7.8-arch1-1
21:29:14 [daemon(19502)] [WARN] keyboard layout watcher couldn't determine active layout.
21:29:14 [daemon(19502)] [INFO] watching for changes in path: "/home/arch/.config/espanso"
21:29:14 [daemon(19502)] [INFO] espanso version: 2.2.0
21:29:14 [daemon(19502)] [INFO] spawning the worker process...
21:29:14 [daemon(19502)] [INFO] binded to IPC unix socket: /home/arch/.cache/espanso/espansodaemonv2.sock
21:29:14 [worker(19508)] [INFO] reading configs from: "/home/arch/.config/espanso"
21:29:14 [worker(19508)] [INFO] reading packages from: "/home/arch/.config/espanso/match/packages"
21:29:14 [worker(19508)] [INFO] using runtime dir: "/home/arch/.cache/espanso"
21:29:14 [worker(19508)] [INFO] system info: Arch Linux v - kernel: 6.7.8-arch1-1
21:29:14 [worker(19508)] [INFO] binded to IPC unix socket: /home/arch/.cache/espanso/espansoworkerv2.sock
21:29:14 [worker(19508)] [INFO] using WaylandAppInfoProvider
21:29:14 [worker(19508)] [INFO] detection module will use this keyboard layout: [R=evdev, M=pc105, L=us, V=eng, O=]
21:29:14 [worker(19508)] [INFO] monitoring the status of the daemon process
21:29:14 [worker(19508)] [INFO] using EVDEVSource
21:29:14 [worker(19508)] [ERROR] thread 'detect thread' panicked at 'unable to create xkb keymap: could not create xkb keymap': espanso-detect/src/evdev/mod.rs:114
21:29:14 [worker(19508)] [ERROR] thread 'engine thread' panicked at 'unable to receive from the init_rx channel: RecvError': espanso/src/cli/worker/engine/funnel/mod.rs:124
21:29:14 [worker(19508)] [ERROR] Unable to block the LinuxEventLoop: receiving on an empty and disconnected channel
21:29:14 [worker(19508)] [ERROR] thread 'main' panicked at 'unable to run main eventloop: receiving on an empty and disconnected channel': espanso/src/cli/worker/mod.rs:160
21:29:14 [daemon(19502)] [ERROR] received unexpected exit code from worker 101, exiting
Confirming I am seeing this as well after the update. I will investigate and see if I can determine what broke and where.
Espanso v2.2.0
OS: Arch Linux x86_64
DE: Hyprland
WM: sway
EDIT: after restarting, Espanso seems to work fine on my setup.
The first log posted does not appear to be a keyboard layout error, the second fails to compile the XKB key map - probably because the keyboard layout/variant combination is not recognized.
@Omar-Ebrahim-1 Thanks to you, I could make espanso work on Archlinux, KDE Plasma6 wayland.
I'm a dvorak keyboard user, and it's been working fine on X11/KDE Plasma5.
However, recently I've change to Wayland/KDE Plasma6, and espanso stopped working. (I installed the wayland version of Espanso using AUR.)
For anyone who have difficulties like me, I leave a note here.
$ setxkbmap -query
WARNING: Running setxkbmap against an Xwayland server
rules: evdev
model: pc105
layout: us
variant: dvorak
Then I add this info to default.yml.
keyboard_layout:
rules: "evdev"
model: "pc105"
layout: "us"
variant: "dvorak"
Espanso is back!
I have reinstalled Wayland Espanso using the AUR with default.yml config
keyboard_layout:
rules: "evdev"
model: "pc105"
layout: "us"
and Espanso now works.
Thank you all for the support and I wish you all the best.