Автозапуск сценария после того, как я подключил или отключил USB-устройство

19

Что я могу сделать, чтобы автоматически запускать сценарий после того, как я смонтировал / подключился или отключил / отключил USB-устройство?

    
задан Radu Rădeanu 22.04.2013 в 15:15
источник

2 ответа

16

Благодаря MinimusHeximus и соответствующим вкладкам thread , о котором он упомянул в своем комментарии к моему аналогичному вопросу, я думаю Теперь я могу предложить вам следующий ответ.

Вам понадобятся 5 (пять) файлов для такого устройства USB, просто заполняя соответствующие значения <fortheseparts> :

/etc/udev/rules.d/00-usb-<yourdevice>.rules

ACTION=="add", ATTRS{idVendor}=="<yourvendorid>", ATTRS{idProduct}=="<yourproductid>", ENV{XAUTHORITY}="/home/<user>/.Xauthority", ENV{DISPLAY}=":0", OWNER="<user>", RUN+="/usr/local/bin/usb-<yourdevice>-in_udev"    
ACTION=="remove", ATTRS{idVendor}=="<yourvendorid>", ATTRS{idProduct}=="<yourproductid>", ENV{XAUTHORITY}="/home/<user>/.Xauthority", ENV{DISPLAY}=":0", OWNER="<user>", RUN+="/usr/local/bin/usb-<yourdevice>-out_udev"

/usr/local/bin/usb-<yourdevice>-in_udev

#!/bin/bash
/usr/local/bin/usb-<yourdevice>-in &

/usr/local/bin/usb-<yourdevice>-in

#!/bin/bash
sleep 1
<yourbashscriptcode>

/usr/local/bin/usb-<yourdevice>-out_udev

#!/bin/bash
/usr/local/bin/usb-<yourdevice>-out &

/usr/local/bin/usb-<yourdevice>-out

#!/bin/bash
sleep 1
<yourbashscriptcode>

Примечания:

  1. Вы можете зафиксировать значения <yourvendorid> и <yourproductid> , введя команду lsusb в терминале - при подключении вашего USB-устройства - в котором будут перечислены все доступные вами USB-устройства, например Bus 003 Device 002: ID 8087:07da Intel Corp. , где 8087 - VendorID и 07da - ProductID .
  2. И <yourdevice> может быть любым произвольным именем, которое вы можете выбрать для своего USB-устройства, например, я решил использовать родовое имя " клавиатура " при создании такого файлы для моей USB-клавиатуры, которые требовали применения различной раскладки клавиатуры всякий раз, когда они подключены.
  3. В некоторых сценариях нет необходимости использовать строку ACTION=="remove" в файле правил udev и, следовательно, связанные 2 (два) файла out , когда вам не нужно ничего делать ( например, отменить изменения, сделанные при подключении устройства) после того, как устройство подключено.
ответ дан Sadi 20.09.2013 в 13:58
источник
3

файловый менеджер SpaceFM позволяет это. См. Настройки Автозапуск , например Авто Выполнить | На консоли или Автозапуск | On Unmount .

    
ответ дан jpfleury 15.05.2013 в 16:06