0

i'm using rdev = { version = "0.5.3", features = ["unstable_grab"] } crate on Debian Bookworm in VSCode, to create my first pet-project and stack with problem:

Error: IoError(Os { code: 13, kind: PermissionDenied, message: "Permission denied" })

 if let Err(error) = grab(move |e| callback(e, &screen_dir)) {
    println!("Error: {error:?}");
} 

the description of grab says: On Linux, you need rw access to evdev devices in /etc/input/ (usually group membership in input group is enough)

But I've tried to:

  1. sudo chown -R $(whoami) /Project_folder
  2. sudo chown -R $(whoami) ~/.cargo
  3. sudo chown -R $(whoami) ~/.rustup
  4. cargo clean; exited and entered again VSCode, cargo build. (https://github.com/rust-lang/cargo/issues/6757#issuecomment-817356128)
  5. Also tried to add hidraw user https://github.com/PixlOne/logiops/issues/32#issuecomment-715887184.
  6. Also tried evdev Permissions instructions:

sudo groupadd uinput

sudo usermod -a -G uinput $USER

echo 'KERNEL=="uinput", GROUP="uinput", MODE:="0660", OPTIONS+="static_node=uinput"' | sudo tee -a /etc/udev/rules.d/99-uinput.rules > /dev/null

sudo udevadm control --reload-rules && sudo udevadm trigger

(https://hackage.haskell.org/package/evdev#permissions)

I don't really know how to give all permissions to rust for input group.

1

0

Browse other questions tagged or ask your own question.