O que posso fazer para executar automaticamente um script depois de montar / plug-in ou desmontar / desconectar um dispositivo USB?
O que posso fazer para executar automaticamente um script depois de montar / plug-in ou desmontar / desconectar um dispositivo USB?
Respostas:
Graças a MinimusHeximus e os respectivos contribuidores do tópico que ele mencionou em seu comentário à minha pergunta semelhante, acho que agora posso oferecer a seguinte resposta.
Você precisará de 5 (cinco) arquivos para um dispositivo USB da seguinte maneira, basta preencher os respectivos valores <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>
Notas:
<yourvendorid>
e <yourproductid>
digitar o comando lsusb
no Terminal - quando o dispositivo USB estiver conectado - que listará todos os dispositivos USB atualmente disponíveis, como Bus 003 Device 002: ID 8087:07da Intel Corp.
onde 8087 é o VendorID e 07da é o ProductID .<yourdevice>
pode ser qualquer nome arbitrário que você possa escolher para o seu dispositivo USB, por exemplo, eu escolhi usar o nome genérico " teclado " ao criar esses arquivos para o meu teclado USB, o que exigia a aplicação de um layout de teclado diferente sempre que ele fosse conectado.ACTION=="remove"
linha no arquivo de regras do udev e, consequentemente, os 2 (dois) " out
" arquivos associados , quando você não precisar fazer nada (por exemplo, reverter uma alteração feita quando o dispositivo estiver ligado). conectado) depois que o dispositivo for desconectado.O gerenciador de arquivos SpaceFM permite isso. Consulte Configurações da execução automática , por exemplo Execução automática | Na montagem ou na execução automática | Em Desmontar .