포럼과 Google을 확인했지만 답변을 찾지 못했습니다. 마우스가 연결되었을 때 터치 패드를 비활성화하는 udev 규칙을 추가하려고합니다. 먼저 나는 그것이 작동하는지 확인하기 위해 일반적인 규칙을 작성했지만 그렇지 않았습니다. 이것이 규칙입니다.
ACTION=="add", SUBSYSTEM=="input", RUN+="/usr/local/bin/touchpadtoggle.sh"
ACTION=="remove", SUBSYSTEM=="input", RUN+="/usr/local/bin/touchpadtoggle.sh"
이 규칙은 /etc/udev/rules.d/00-touchpad.rules에 있습니다.
그리고 이것은 테스트 bash 스크립트입니다.
#!/bin/bash
notify-send "Test"
Bash 스크립트가 잘 작동합니다. 명령 줄에 "/usr/local/bin/touchpadtoggle.sh"를 입력하면 알림이 표시됩니다.
문제는 udev가 루트로 실행되므로 스크립트가 사용자가 아닌 루트로 실행된다는 것입니다. 당신은 당신의 진짜 스크립트에 대해이 작업을 할 것입니다,하지만 이유는 notify-send
전송하지 당신에게 udev가 실행할 때 알림을. 또한 DISPLAY
udev는 최소 환경에서 실행 되므로 환경 변수를 수동으로 설정해야합니다.
스크립트를 다음과 같이 변경 $USER
하고 사용자 이름으로 바꿉니다 .
#!/bin/bash
sudo -u $USER DISPLAY=:0 notify-send "Test"
또한 새 규칙을 전에 (다시) 읽었는지 확인하려면 다음을 실행하십시오.
sudo udevadm control -R
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다