From 8ff35c8657cc0d82fdbb6199c577249a1b974049 Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Mon, 26 Feb 2024 18:40:23 +0100 Subject: [PATCH] fix(linux): fix regex to detect running ibus-daemon On Ubuntu 20.04 Focal ibus gets started by a shell command so that we end up with two processes mentioning `ibus-daemon`. This change limits the search to processes that specify with full path to `ibus-daemon` or without path, but `ibus-daemon` has to be the command, not a parameter. --- linux/keyman-config/keyman_config/ibus_util.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linux/keyman-config/keyman_config/ibus_util.py b/linux/keyman-config/keyman_config/ibus_util.py index 6708da3499..e92aa54629 100644 --- a/linux/keyman-config/keyman_config/ibus_util.py +++ b/linux/keyman-config/keyman_config/ibus_util.py @@ -115,7 +115,7 @@ def verify_ibus_daemon(start): try: ps_output = subprocess.run(('ps', '--user', user, '-o', 's=', '-o', 'cmd'), check=False, stdout=subprocess.PIPE).stdout - ibus_daemons = re.findall('^[^ZT] (.*/|)ibus-daemon( .*|$)', + ibus_daemons = re.findall(r'^[^ZT] (/[^ ]+/|)ibus-daemon( .*|$)', ps_output.decode('utf-8'), re.MULTILINE) if len(ibus_daemons) <= 0: if start: