Linux Mint 13 MATE를 사용하고 있으며 장치를 연결 / 분리 할 때 알림을 설정하려고합니다.
우선, udev-notify 패키지를 찾았 지만 불행히도 거의 작동하지 않습니다. 매우 짧은 시간 (1-2 분) 동안 작동 한 다음 장치를 연결 / 연결 해제하면 충돌이 발생합니다.
Traceback (most recent call last):
File "./udev-notify.py", line 319, in <module>
notification.show()
glib.GError: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name :1.1061 was not provided by any .service files
해결책을 찾지 못해 제거해야했습니다. ( 버그 신고 도 제출 )
놀랍게도, 지금까지 찾은 비슷한 유틸리티는 없습니다. 그런 다음 모든 장치와 일치 해야하는 udev 규칙을 작성하려고했습니다. 새 파일을 추가했습니다 /etc/udev/rules.d/notify.rules
:
ACTION=="add", RUN+="/bin/bash /home/dimon/tmp/device_plug.sh"
ACTION=="remove", RUN+="/bin/bash /home/dimon/tmp/device_unplug.sh"
그리고 두 스크립트 :
device_plug.sh :
#!/bin/bash
export DISPLAY=":0"
notify-send "device plugged"
/usr/bin/play -q /path/to/plug_sound.wav &
device_unplug.sh :
#!/bin/bash
export DISPLAY=":0"
notify-send "device unplugged"
/usr/bin/play -q /path/to/unplug_sound.wav &
작동하지만 매우 멍청합니다. 내 질문은 :
lsusb
출력 에서 볼 수 있듯이 장치의 실제 제목을 연결하는 방법은 무엇입니까? 현재는 "plugged"및 "unpugged"와 같은 알림을 받았으며 udev 규칙에서 장치 이름을 검색하는 방법을 찾을 수 없습니다 (가능한 경우 스크립트에이를 파라미터)- 현재 너무 많은 알림이 활성화되었습니다. USB 스틱을 연결하면 약 15 개의 알림이 표시됩니다. 그러나을 실행
lsusb
하면 연결된 USB 스틱이 단일 장치로 표시됩니다. 따라서 규칙 필터에 더 많은 인수를 추가 해야하는 것으로 보이지만 찾을 수는 없습니다. - 아마도 장치 플러그 / 플러그 해제 알림에 대한 더 나은 솔루션이 있습니까? 당신이 무언가를 알고 있다면 제안하십시오.
pyudev
알림을받는 데 사용 되며에 추가 스크립트가 필요하지 않습니다/etc/udev
.