Hi,
El 05/08/18 a las 22:03, Alessandro Selli escribió:
n 05/08/2018 at 20:44, Antony Stone wrote:
On Sunday 05 August 2018 at 20:24:30, Alessandro Selli wrote:
On 05/08/2018 at 16:29, Antonio Trkdz.tab wrote:
Dear All,
I am struggling to understand how to run a script automatically upon
plugging a USB keyboard.
I know this issue is not directly related to Devuan, but I will
certainly appreciate a little help.
I created the following rule as /etc/udev/rules.d/90-usb-keyboard.rules:
ATTRS{idVendor}=="XXXX", ATTRS{idProduct}=="XXXX", ACTION=="add",
RUN+="/full/path_to/restore_space_as_modifier.sh"
and reloaded eudev (I am on ASCII).
The script essentially has to do this:
#!/bin/bash
/usr/bin/xmodmap -e "keycode 65=Super_L"
/usr/bin/xmodmap -e "keycode any=space"
/usr/bin/pkill xcape
/usr/bin/xcape -e "Super_L=space"
I think the problem lies in the x* from the commands: they are X11
commands, i.e. they interact with a running Xorg. But, as they are run
by udevd, i.e. by a system daemon, they do not have the DISPLAY variable
initialized and do not have the appropriate session Xauthority cookies
set. Thus they fail.
That sounds plausible, but doesn't explain:
it is not working, nothing happens, not even a simple echo something to a
file, the only command I have got working is touching a file with
'RUN+="/usr/bin/touch path_to/filename"
How are you running the echo command from the udev rule?
Maybe you should log the message, something like this?
|ACTION=="add", RUN+="/bin/sh -c 'echo "message" >> log_file
Cheers,
Aitor.
|
_______________________________________________
Dng mailing list
[email protected]
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng