this post was submitted on 23 Aug 2023
16 points (73.5% liked)

Linux

47237 readers
3343 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Is there any way to fix this issue, Or any other method to fix the chattering issue on Ubuntu. I tried bounce key - not quite good.

Hereist the git hub repo: https://github.com/finkrer/KeyboardChatteringFix-Linux

top 13 comments
sorted by: hot top controversial new old
[–] [email protected] 22 points 1 year ago

Does installing python3-libevdev help?

[–] [email protected] 15 points 1 year ago (2 children)

You need to install Python package dependencies. pip install -r requirements.txt is the simplest way to do it, but that unfortunately installs the packages globally. May be wise to use a virtual environment.

[–] [email protected] 8 points 1 year ago (1 children)

Would pip install --user -r requirements.txt not be OK, too? I understand it's not as isolated as a virtual environment, but it's easy.

[–] [email protected] 1 points 1 year ago
[–] [email protected] 2 points 1 year ago

It needs to be installed globally or as root, as the script runs under root. Pip does not like being run with different permissions or as different users not at all tho.

[–] [email protected] 14 points 1 year ago* (last edited 1 year ago)

You should copy the console text and post it as a code block on your post. Not only is this easier to read, it's searchable for others, and more accessible-friendly, too.

[–] [email protected] 13 points 1 year ago* (last edited 1 year ago) (2 children)

This script has two python modules as requirements, libevdev and inquirer. If you want to run the script with your systemwide python environment, you can try to find the relevant APT packages (often named python-MODULENAME) to install the modules on your system.

Alternatively you can create a python virtual environment (you can easily find howtos) and install the requirements in the virtual environment using the pip tool. This way, the requirements will be installed for this project only.

Also keep in mind to never use pip as sudo, it should not manage your systemwide python modules because it will conflict with your package manager.

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

Oh and good luck regarding your transition from windows to Ubuntu. I see that you had different issues for your first time, it can be though sometimes but keep going you will eventually get yourself confortable and understand new things on how it works. You will not regret it

[–] [email protected] 1 points 1 year ago
[–] [email protected] 4 points 1 year ago* (last edited 1 year ago)

Disclaimer: I’m on mobile, please excuse and terrible formatting

The issue that you’re running into is that the Python module “libevdev” isn’t installed.

The traditional “best practice” for installing python modules is to create a python virtual environment (venv) for each project so they can have different versions of the same module. However, this will make running the script/program a little less convenient. I’ll include instructions for both, you only need to follow one.

With a Virtual EnvironmentThe first thing we’ll want to do is create a virtual environment. This will let us install modules that don’t mess with the rest of the system.

All of these commands should be run in the root folder of the application (the folder that src is inside of). Run the following command to create a folder (.venv) the virtual environment will be stored in.

python -m venv .venv

Next, we’ll want to activate the virtual environment. This needs to be done every time you run the application. If you’re using the bash shell the following command will active the virtual environment. (The bash shell is the default in Ubuntu. If you haven’t changed it this what you want)

source .venv/bin/activate

Now that we’ve created and activated a virtual environment, we can install the missing package.

The repository you linked has a requirements.txt file we can use to install all the required modules without typing them out by hand. This can be done using pip and the ”-r” flag.

pip install -r requirements.txt

Now that everything is installed, you should be able to run the application as normal with:

sudo python -m src

If you close your terminal window, you’ll have to reactivate the virtual environment the next time you want to run the script/program. You can also write a bash script to do this for you.

Without a Virtual EnvironmentIf you don’t want to setup a virtual environment, you can install the modules user wide. This will make it so the installed packages are available every time you run python. You can do this with pip as follows. Make sure to run this command in the root folder of the application (the folder src is in)

pip install -r requirements.txt

You should then be able to run the script/program as you did before with

sudo python -m src

[–] [email protected] 3 points 1 year ago

On the Github page you linked it says under Installation: "Clone the repository and install the required dependencies enlisted in requirements.txt."

It seems like you didnt do that...

[–] [email protected] 1 points 1 year ago (1 children)

run this command: sudo apt-get install -y libev-dev

[–] [email protected] 7 points 1 year ago* (last edited 1 year ago)

On Debian I think it would actually be sudo apt-get install python3-libevdev, the thing is called evdev, not ev.