Thanks to MinimusHeximus and the respective contributors to the thread he mentioned in his comment to my similar question, I think I can now offer you the following answer.
You'll need 5 (five) files for such a USB device as follows, simply filling in respective values <fortheseparts>:
You can capture the values <yourvendorid> and <yourproductid> by entering the command lsusb in Terminal -- when your USB device is plugged in -- which will list all your USB devices currently available, like Bus 003 Device 002: ID 8087:07da Intel Corp., where 8087 is the VendorID and 07da is the ProductID.
And <yourdevice> can be any arbitrary name you may choose for your USB device, for example, I chose to use the generic name "keyboard" when creating such files for my USB keyboard which required applying a different keyboard layout whenever it's plugged in.
In some scenarios, it may not be necessary to use the ACTION=="remove" line in the udev rules file, and hence the associated 2 (two) "out" files, when you don't need to do anything (e.g. reverse a change made when the device is plugged in) after the device is plugged out.
Some display managers store the .Xauthority outside the user home directory. You will need to update the ENV{XAUTHORITY} accordingly. As an example GNOME Display Manager looks as follows:
Thanks to MinimusHeximus and the respective contributors to the thread he mentioned in his comment to my similar question, I think I can now offer you the following answer.
You'll need 5 (five) files for such a USB device as follows, simply filling in respective values
<fortheseparts>
:/etc/udev/rules.d/00-usb-<yourdevice>.rules
/usr/local/bin/usb-<yourdevice>-in_udev
/usr/local/bin/usb-<yourdevice>-in
/usr/local/bin/usb-<yourdevice>-out_udev
/usr/local/bin/usb-<yourdevice>-out
Notes:
You can capture the values
<yourvendorid>
and<yourproductid>
by entering the commandlsusb
in Terminal -- when your USB device is plugged in -- which will list all your USB devices currently available, likeBus 003 Device 002: ID 8087:07da Intel Corp.
, where 8087 is the VendorID and 07da is the ProductID.And
<yourdevice>
can be any arbitrary name you may choose for your USB device, for example, I chose to use the generic name "keyboard" when creating such files for my USB keyboard which required applying a different keyboard layout whenever it's plugged in.In some scenarios, it may not be necessary to use the
ACTION=="remove"
line in the udev rules file, and hence the associated 2 (two) "out
" files, when you don't need to do anything (e.g. reverse a change made when the device is plugged in) after the device is plugged out.Some display managers store the
.Xauthority
outside the user home directory. You will need to update theENV{XAUTHORITY}
accordingly. As an example GNOME Display Manager looks as follows:The file manager SpaceFM allows that. See Auto Run settings, for example Auto Run | On Mount or Auto Run | On Unmount.