Closed mattiasJohnson closed 2 years ago
I'm not enlightened enough about how systemctl
works, I believe the service is running. I saw a similar issue https://github.com/donniebreve/touchcursor-linux/issues/33 and here's the output of the two commands the guy in that thread was asked to run
$ systemctl --user start touchcursor.service
$ systemctl --user status touchcursor.service
● touchcursor.service - Touch Cursor Service
Loaded: loaded (/home/mattias/.config/systemd/user/touchcursor.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2021-11-24 21:41:27 CST; 2s ago
Main PID: 71710 (touchcursor)
CGroup: /user.slice/user-1000.slice/user@1000.service/touchcursor.service
└─71710 /usr/bin/touchcursor
And here are the lines follwing Started Touch Cursor Service
from the systemctl --user restart touchcursor.service; sleep 5; journalctl -e
command
nov 24 21:41:27 mattias-Legion-S7-15ACH6 systemd[1765]: Started Touch Cursor Service.
nov 24 21:41:27 mattias-Legion-S7-15ACH6 kernel: input: Virtual TouchCursor Keyboard as /devices/virtual/input/input37
nov 24 21:41:27 mattias-Legion-S7-15ACH6 systemd-logind[741]: Watching system buttons on /dev/input/event21 (Virtual TouchCursor Keyboard)
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (II) config/udev: Adding input device Virtual TouchCursor Keyboard (/dev/input/event21)
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (**) Virtual TouchCursor Keyboard: Applying InputClass "libinput pointer catchall"
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (**) Virtual TouchCursor Keyboard: Applying InputClass "libinput keyboard catchall"
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (II) Using input driver 'libinput' for 'Virtual TouchCursor Keyboard'
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (II) systemd-logind: got fd for /dev/input/event21 13:85 fd 86 paused 0
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (**) Virtual TouchCursor Keyboard: always reports core events
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (**) Option "Device" "/dev/input/event21"
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (**) Option "_source" "server/udev"
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (II) event21 - Virtual TouchCursor Keyboard: is tagged by udev as: Keyboard Mouse
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (II) event21 - Virtual TouchCursor Keyboard: device is a pointer
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (II) event21 - Virtual TouchCursor Keyboard: device is a keyboard
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (II) event21 - Virtual TouchCursor Keyboard: device removed
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (II) libinput: Virtual TouchCursor Keyboard: needs a virtual subdevice
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (**) Option "config_info" "udev:/sys/devices/virtual/input/input37/event21"
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (II) XINPUT: Adding extended input device "Virtual TouchCursor Keyboard" (type: MOUSE, id 21)
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (**) Option "AccelerationScheme" "none"
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (**) Virtual TouchCursor Keyboard: (accel) selected scheme none/0
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (**) Virtual TouchCursor Keyboard: (accel) acceleration factor: 2.000
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (**) Virtual TouchCursor Keyboard: (accel) acceleration threshold: 4
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (II) event21 - Virtual TouchCursor Keyboard: is tagged by udev as: Keyboard Mouse
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (II) event21 - Virtual TouchCursor Keyboard: device is a pointer
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (II) event21 - Virtual TouchCursor Keyboard: device is a keyboard
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (**) Virtual TouchCursor Keyboard: Applying InputClass "libinput pointer catchall"
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (**) Virtual TouchCursor Keyboard: Applying InputClass "libinput keyboard catchall"
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (II) Using input driver 'libinput' for 'Virtual TouchCursor Keyboard'
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (II) systemd-logind: returning pre-existing fd for /dev/input/event21 13:85
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (**) Virtual TouchCursor Keyboard: always reports core events
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (**) Option "Device" "/dev/input/event21"
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (**) Option "_source" "_driver/libinput"
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (II) libinput: Virtual TouchCursor Keyboard: is a virtual subdevice
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (**) Option "config_info" "udev:/sys/devices/virtual/input/input37/event21"
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (II) XINPUT: Adding extended input device "Virtual TouchCursor Keyboard" (type: KEYBOARD, id 22)
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (**) Option "xkb_layout" "se,us"
nov 24 21:41:27 mattias-Legion-S7-15ACH6 /usr/lib/gdm3/gdm-x-session[4032]: (**) Option "xkb_variant" ","
nov 24 21:41:31 mattias-Legion-S7-15ACH6 audit[10529]: AVC apparmor="ALLOWED" operation="open" profile="snap.polybar-git.polybar-git" name="/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:2c/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/energy_now" pid=10529 comm="polybar" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
nov 24 21:41:31 mattias-Legion-S7-15ACH6 audit[10529]: AVC apparmor="ALLOWED" operation="open" profile="snap.polybar-git.polybar-git" name="/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:2c/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/energy_full" pid=10529 comm="polybar" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
nov 24 21:41:31 mattias-Legion-S7-15ACH6 kernel: audit: type=1400 audit(1637811691.683:16750): apparmor="ALLOWED" operation="open" profile="snap.polybar-git.polybar-git" name="/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:2c/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/energy_now" pid=10529 comm="polybar" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
nov 24 21:41:31 mattias-Legion-S7-15ACH6 kernel: audit: type=1400 audit(1637811691.683:16751): apparmor="ALLOWED" operation="open" profile="snap.polybar-git.polybar-git" name="/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:2c/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/energy_full" pid=10529 comm="polybar" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
nov 24 21:41:32 mattias-Legion-S7-15ACH6 audit[10529]: AVC apparmor="ALLOWED" operation="open" profile="snap.polybar-git.polybar-git" name="/sys/devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0003:00/power_supply/ADP1/online" pid=10529 comm="polybar" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
nov 24 21:41:32 mattias-Legion-S7-15ACH6 audit[10529]: AVC apparmor="ALLOWED" operation="open" profile="snap.polybar-git.polybar-git" name="/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:2c/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/energy_now" pid=10529 comm="polybar" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
nov 24 21:41:32 mattias-Legion-S7-15ACH6 kernel: audit: type=1400 audit(1637811692.383:16752): apparmor="ALLOWED" operation="open" profile="snap.polybar-git.polybar-git" name="/sys/devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0003:00/power_supply/ADP1/online" pid=10529 comm="polybar" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
nov 24 21:41:32 mattias-Legion-S7-15ACH6 kernel: audit: type=1400 audit(1637811692.383:16753): apparmor="ALLOWED" operation="open" profile="snap.polybar-git.polybar-git" name="/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:2c/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/energy_now" pid=10529 comm="polybar" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
nov 24 21:41:32 mattias-Legion-S7-15ACH6 kernel: audit: type=1400 audit(1637811692.383:16754): apparmor="ALLOWED" operation="open" profile="snap.polybar-git.polybar-git" name="/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:2c/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/energy_full" pid=10529 comm="polybar" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
nov 24 21:41:32 mattias-Legion-S7-15ACH6 kernel: audit: type=1400 audit(1637811692.383:16755): apparmor="ALLOWED" operation="open" profile="snap.polybar-git.polybar-git" name="/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:2c/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/energy_now" pid=10529 comm="polybar" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
nov 24 21:41:32 mattias-Legion-S7-15ACH6 kernel: audit: type=1400 audit(1637811692.383:16756): apparmor="ALLOWED" operation="open" profile="snap.polybar-git.polybar-git" name="/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:2c/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/energy_full" pid=10529 comm="polybar" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
nov 24 21:41:32 mattias-Legion-S7-15ACH6 audit[10529]: AVC apparmor="ALLOWED" operation="open" profile="snap.polybar-git.polybar-git" name="/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:2c/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/energy_full" pid=10529 comm="polybar" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
nov 24 21:41:32 mattias-Legion-S7-15ACH6 audit[10529]: AVC apparmor="ALLOWED" operation="open" profile="snap.polybar-git.polybar-git" name="/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:2c/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/energy_now" pid=10529 comm="polybar" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
nov 24 21:41:32 mattias-Legion-S7-15ACH6 audit[10529]: AVC apparmor="ALLOWED" operation="open" profile="snap.polybar-git.polybar-git" name="/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:2c/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/energy_full" pid=10529 comm="polybar" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
nov 24 21:41:38 mattias-Legion-S7-15ACH6 audit[10529]: AVC apparmor="ALLOWED" operation="open" profile="snap.polybar-git.polybar-git" name="/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:2c/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/energy_now" pid=10529 comm="polybar" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
nov 24 21:41:38 mattias-Legion-S7-15ACH6 kernel: audit: type=1400 audit(1637811698.392:16757): apparmor="ALLOWED" operation="open" profile="snap.polybar-git.polybar-git" name="/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:2c/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/energy_now" pid=10529 comm="polybar" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
nov 24 21:41:38 mattias-Legion-S7-15ACH6 kernel: audit: type=1400 audit(1637811698.392:16758): apparmor="ALLOWED" operation="open" profile="snap.polybar-git.polybar-git" name="/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:2c/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/energy_full" pid=10529 comm="polybar" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
nov 24 21:41:38 mattias-Legion-S7-15ACH6 audit[10529]: AVC apparmor="ALLOWED" operation="open" profile="snap.polybar-git.polybar-git" name="/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:2c/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/energy_full" pid=10529 comm="polybar" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
nov 24 21:41:39 mattias-Legion-S7-15ACH6 audit[10529]: AVC apparmor="ALLOWED" operation="open" profile="snap.polybar-git.polybar-git" name="/sys/devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0003:00/power_supply/ADP1/online" pid=10529 comm="polybar" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
Hey @mattiasJohnson
Make sure you run systemctl --user list-units --type=service --all
Systemctl has two spaces, system services and user services. Most services run in the system wide group (systemctl ...
) but touchcursor-linux runs in the user group (systemctl --user ...
)
touchcursor-linux requires elevated access, so when it installs the application to /usr/bin, the file owner is root and the install script sets the sticky bit.
These errors tell the story:
error: cannot open the input device, is this file set to the 'input' group or equivalent?: Permission denied. error: could not capture the keyboard device
Looks like I need to update that error message though, I moved away from using the input group.
If you want to run the touchcursor-linx/out/touchcursor
application, you have to run it with sudo. Unfortunately running it with sudo will have the application think it is running as root, and it will look for the configuration file at /etc/touchcursor/touchcursor.conf
See https://www.redhat.com/sysadmin/suid-sgid-sticky-bit (user + s (pecial)) for more information.
This error is telling you the device has already been captured by something:
error: EVIOCGRAB: Device or resource busy.
Try first running systemctl --user stop touchcursor
, then run /usr/bin/touchcursor
to see the output from the application.
Closing due to inactivity.
I am running ubuntu 20.04 with i3wm and my computer is Lenovo Legion 7 and after following through the installation (that I've done on other computers before so believe I've done my part correctly) there is no
touchcursor.service
. Sorry for the wall of text wasn't sure what data was relevant so included most of it.Installation :heavy_check_mark:
From what I've understood I have successfully installed touchcursor. I cloned it directly and in
touchcursor-linux/src/key.c
comment out the four lines mentioned in https://github.com/donniebreve/touchcursor-linux/issues/35 and then preceded withUpdating config :heavy_check_mark:
I'm changing config
Name
line toName="AT Translated Set 2 keyboard"
since I get the following output:No
touchcursor.service
:x:systemctl list-units --type=service --all
both before and after touchcursor.service restart does not include touchcursor.service.Testing running the binary :x:
Running binary in
touchcursor-linux/out/touchcursor
:x:My guess is that trying this binary is unnecessary since it's not the one being run by the service but anyhow:
Running binary in
/usr/bin/touchcursor
:x: