Udev 규칙이 스크립트를 올바르게 실행하지 않습니다.

Udev 규칙이 스크립트를 올바르게 실행하지 않습니다.

udev 규칙 80-wacom.rules가 있습니다.

    SUBSYSTEM=="usb", ACTION=="add", RUN+="/usr/local/bin/wacom.sh"

wacom.sh제가 이해하는 바는 USB 장치가 연결되어 있는 한 실행된다는 것입니다.

실제로 실행시간을 파일에 기록하여 실행된 것을 확인했습니다.

    #!/bin/bash

    /usr/bin/date >> /tmp/udev.log;
    /usr/bin/xsetwacom set `/usr/bin/xsetwacom --list |grep -i stylus |awk {'print $6'}` MapToOutput HEAD-0;
    /usr/bin/xsetwacom set `/usr/bin/xsetwacom --list |grep -i eraser |awk {'print $6'}` MapToOutput HEAD-0

장치가 연결될 때마다 타임스탬프가 로그 파일에 기록되지만 중요한 다른 두 줄의 코드는 실행되지 않는 것을 확인했습니다.

스크립트를 직접 실행하면 타임스탬프가 로그 파일에 나타나고 나머지 두 줄의 코드가 예상대로 실행됩니다.

따라서 udev 규칙이 실행됩니다. 스크립트가 실행됩니다. 그러나 udev 규칙에 의해 실행되는 스크립트가 예상대로 실행되지 않습니다. 스크립트 시작 부분에 지연을 추가해 보았으나 문제가 해결되지 않았습니다.

나는 무엇을 해야할지 모르겠습니다. 어떤 통찰력이라도 대단히 감사하겠습니다.

관련 정보