rbreaves / kinto

Mac-style shortcut keys for Linux & Windows.
http://kinto.sh
GNU General Public License v2.0
4.24k stars 212 forks source link

"Quick install method" breaks all keyboard input rendering system unusable #826

Open jeremiahrose opened 10 months ago

jeremiahrose commented 10 months ago

Describe the bug I ran the quick install method command described in the readme:

/bin/bash -c "$(wget -qO- https://raw.githubusercontent.com/rbreaves/kinto/HEAD/install/linux.sh || curl -fsSL https://raw.githubusercontent.com/rbreaves/kinto/HEAD/install/linux.sh)"

After running the command the computer's keyboard stopped working. External keyboards did not work either. I was unable to enter any input or type any commands.

After using the mouse to enable the on screen keyboard, I was able to run the recommended uninstall command:

/bin/bash <( wget -qO- https://raw.githubusercontent.com/rbreaves/kinto/HEAD/install/linux.sh || curl -fsSL https://raw.githubusercontent.com/rbreaves/kinto/HEAD/install/linux.sh ) -r

This did not work:

Uninstall Kinto...
Failed to get session path: Caller does not belong to any known session.
You are not using x11, please logout and back in using x11/Xorg

Luckily I was able to bypass this check in the uninstall script. Other users will not be so lucky.

Expected behavior The expected behaviour is that the install script does not completely disable the user's computer, and the uninstall script works.

Install Type: Bare Metal Distro: Ubuntu 22.04 DE: Gnome

RedBearAK commented 10 months ago

@jeremiahrose

That's weird, the Kinto installer should be working fine in Ubuntu 22.04. Sounds like you were able to get it uninstalled?

If you're actually in a Wayland session, you might want to try this:

https://github.com/RedBearAK/toshy

It's like Kinto, but will also work in Wayland+GNOME and Wayland+KDE, and has some features that Kinto doesn't support yet.

RedBearAK commented 10 months ago

@jeremiahrose

I just tested this in a Boxes VM with a fully updated Ubuntu 22.04 install. I can't replicate your issue.

For one thing, the Kinto installer won't run if you're logged into a Wayland session, showing the same error you got when trying to uninstall.

Switching to an "Ubuntu on Xorg" session at the login screen, there is a known problem where the terminal tab that ran the Kinto installer will end up seeming unresponsive to keyboard input, but other tabs can be opened with Cmd+T and closed with Cmd+W, and once you close the original tab there is no longer an issue with anything appearing to be unresponsive. Other app windows don't exhibit this problem, only the terminal tab where the Kinto installer command was executed.

There is still an issue that prevents the Kinto tray icon from appearing. A missing package. That should really be fixed in the installer.

Traceback (most recent call last):
  File "/home/testuser/.config/kinto/kintotray.py", line 14, in <module>
    gi.require_version('AyatanaAppIndicator3', '0.1')
  File "/usr/lib/python3/dist-packages/gi/__init__.py", line 126, in require_version
    raise ValueError('Namespace %s not available' % namespace)
ValueError: Namespace AyatanaAppIndicator3 not available

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/testuser/.config/kinto/kintotray.py", line 17, in <module>
    gi.require_version('AppIndicator3', '0.1')
  File "/usr/lib/python3/dist-packages/gi/__init__.py", line 126, in require_version
    raise ValueError('Namespace %s not available' % namespace)
ValueError: Namespace AppIndicator3 not available

This is resolvable by installing this package:

gir1.2-ayatanaappindicator3-0.1

That should be the extent of the issues with installing Kinto on Ubuntu 22.04, as long as you are in an Xorg session when you make the attempt.

However, with both xkeysnail and keyszer I have noticed that it is possible on occasion to get the process "stuck" in a way that is difficult to overcome, and makes the keyboard unresponsive everywhere. But I think this comes down to having a modifier key pressed at exactly the right (wrong) time while the keymapper is starting.

If you try the Kinto install again and just make sure you don't touch the keyboard until you see the GUI window, it should work.

But if you need to use Wayland, you'll have to try Toshy.

damirJa commented 10 months ago

I had the same problem today, and the worst part was that I couldn't even open the visual keyboard. So I was able to stop it via the GUI options menu and delete it using the old way.

jeremiahrose commented 10 months ago

If it's any help, I was using zsh as my default shell (not bash).

On Thu, 24 Aug 2023, 9:39 pm Damir Sadykov, @.***> wrote:

I had the same problem today, and the worst part was that I couldn't even open the visual keyboard. So I was able to stop it via the GUI options menu and delete it using the old way.

— Reply to this email directly, view it on GitHub https://github.com/rbreaves/kinto/issues/826#issuecomment-1691515357, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABNTDQZNZKMYKX5MDWHPY5LXW44OBANCNFSM6AAAAAA3PGSMK4 . You are receiving this because you were mentioned.Message ID: @.***>

RedBearAK commented 10 months ago

@jeremiahrose @damirJa

Have either of you tried Toshy?

https://github.com/RedBearAK/toshy

I don't know what the problem is with the Kinto install, but I hope you won't have the same problem with the Toshy installer.

snigel commented 9 months ago

The same just happened to me on Ubuntu 23.04. I started an X-session, did the quick install and couldn't use the keyboard.

After a reboot I could login again, but after logging in the keyboard stopped working.

RedBearAK commented 9 months ago

@snigel

After a reboot I could login again, but after logging in the keyboard stopped working.

I can't replicate this unresponsive keyboard issue on Ubuntu 23.04 in a QEMU/KVM virtual machine.

There are the other problems, such as needing to install xkeysnail from the folder the Kinto installer clones using pipx to get past the "managed Python environment", and then needing to restart and run the Kinto installer again to finish the install, and then there's the problem with the missing packages required to get the tray icon app to work.

But once it's installed Kinto works fine for me.

If you don't want to deal with all that, try my alternative to Kinto:

https://github.com/RedBearAK/toshy

It was also a major pain to get the X11 session to even work in the VM on Ubuntu 23.04. The Wayland session would work fine, but the X11/Xorg session just kept crashing back to the login screen when I tried to log in.

The fix was:

GNOME Boxes doesn't allow this kind of control unless you know how to manually edit the XML files and redefine the VM. I'm using virt-manager to get access to more settings in the GUI.

yunyu commented 4 days ago

This happened to me as well on Ubuntu 24.04 and was a pain to uninstall and fix. How did this software get so broken?

RedBearAK commented 4 days ago

This happened to me as well on Ubuntu 24.04 and was a pain to uninstall and fix. How did this software get so broken?

@yunyu

You wouldn’t believe how much time it takes to adapt something like this to the constant changes in Linux distros. Try the project at the link below if you’re interested in something based on the Kinto config, but with a different installer and method for running the keymapper services.

https://github.com/RedBearAK/toshy