systemd-udevd가 부팅 시 Triggerhappy를 시작할 수 없습니다.

systemd-udevd가 부팅 시 Triggerhappy를 시작할 수 없습니다.

Raspberry Pi3(4.14.34-v7+)을 부팅할 때 부팅 후 dmesg 및 기타 로그에 다음 오류가 표시됩니다. 다만, 현재는 사용하고 있지 않으므로 triggerhappy서비스가 비활성화될 수 있습니다. 하지만 나중에 사용하고 싶다면 오류의 원인이 무엇인지 알고 싶습니다.

systemd-udevd[157]: Process '/usr/sbin/th-cmd --socket /var/run/thd.socket --passfd --udev' failed with exit code 1.

systemd 서비스에는 두 가지 항목이 있습니다.

systemctl status triggerhappy.service
systemctl status triggerhappy.socket

실행하려는 코드는
/lib/udev/rules.d/60-triggerhappy.rules:: 에서 온 것 같습니다.

시작하는 동안 왜 실패합니까?
(그런데 나중에 실행되는 것 같습니다 ...)

답변1

왜:이 오류는 다음과 같은 여러 가지 이유로 발생합니다.

1)이 명령 th-cmd --socket /var/run/thd.socket --passfd --udevsegfault.

2)불행하게도, Triggerhappy를 비활성화하더라도 시스템 로그에는 다음과 같은 오류가 계속 나타납니다.

$ sudo systemctl disable triggerhappy.service
$ sudo systemctl disable triggerhappy.socket

이는 Triggerhappy를 비활성화해도 여기서 udev 규칙이 제거되지 않기 때문입니다 /lib/udev/rules.d/60-triggerhappy.rules.

해결책(headless 시스템에서처럼 Triggerhappy를 사용하지 않는 경우):

$ sudo apt-get remove triggerhappy

답변2

@님이 지적하신대로갈렙불행하게도 서비스에는 오래된 버그가 있는 것 같습니다 triggerhappy. 그러나 Triggerhappy Happy 데몬이 시작 중이나 이후에 컴퓨터에 연결된 장치에서 발생하는 새로운 이벤트 소스에 의해 트리거된 이벤트를 고려하려는 경우 udev 규칙이 유용할 수 있습니다. 이 오류를 해결하려면 파일 RUN의 줄을 60-triggerhappy.rules다음으로 바꾸면 됩니다 .

        RUN+="/bin/systemctl restart triggerhappy"

관련 정보