How to unlock XScreenSaver when the system was locked while in a wrong input method?

It seems XScreenSaver doesn’t allow me to change input method while locked.

This apparently caused me trouble when I forgot to switch ibus back to English (US) after typing some Cyrillic stuffs using Russian (phonetic) keyboard before locking the screen, as I would not be able to correctly type the password at all.

Actually this question has been asked at least 8 years ago and even now I couldn’t find any good idea (also this). At least it now tells me which input method the system is currently using.

For now I managed to get out of it the dirty way by force-killing all the xscreensaver related processes from a different terminal. Don’t know if there’s a clean way to at least switch the keyboard layout to the right one from another terminal so I could switch back and enter my password.

On the other hand, does anyone know a screensaver/lockscreen that doesn’t have such issue? Maybe XScreenSaver is not a good idea if you use input methods with very different character sets (e.g. Russian, Greek).

To stop the daemon “killall xscreensaver” works.
now all you need now is a command to change input method.
Write a script and set a systemd service to run at unlock time.

Guess all I could do is be careful from now on. killall xscreensaver did not work for me reliably.

What worked was to find all related processes then kill -9 them all at once.

So in the end no simple solution… :frowning:

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.