쉘 스크립트의 xdotool이 xbindkeys에서 제대로 작동하지 않습니다.

쉘 스크립트의 xdotool이 xbindkeys에서 제대로 작동하지 않습니다.

나는 이것으로 오랫동안 어려움을 겪었습니다. 매우 간단한 스크립트가 있습니다.

#!/bin/bash

while true; do
  if [ ! -z "$(/usr/bin/xinput --query-state 17 | grep -o 'button\[12\]=down')" ]; then
    /usr/bin/xdotool click --delay 18 1
  else
    break
  fi
done

마우스 버튼 12를 누른 상태에서 실행하고 싶으므로 파일은 .xbindkeysrc다음과 같습니다.

"bash ~/Scripts/test2.sh"
    b:12

작동합니다. xbindkeys -v터미널에 미친 듯이 버튼 1 스팸이 표시되지만 클릭이 OS에 등록되지 않습니다. 저는 xfce를 사용하여 Debian 12를 실행하고 있으므로 당연히 X11을 사용하고 있습니다. 그러나 버튼 12에 스팸을 보내면 버튼 1 클릭이 여러 번 등록되는 경우가 있습니다. 나는 또한 stackoverflow에서 제안된 몇 가지 타이밍 트릭과 다른 것들을 시도했지만 운이 없었습니다.

또한 내 구성이 다음과 같을 때:

"xdotool click 1"
    b:12

동일한 작업을 수행합니다. 클릭이 감지되지만 click1 명령은 운영 체제에 등록되지 않습니다.

버튼 12를 누른 상태에서 터미널에서 스크립트를 실행하면 예상대로 작동하고 심지어 버튼을 놓으면 종료되므로 스크립트가 제대로 작동합니다. 왜 xdotool실행이 xbindkeys작동하지 않는지 아는 사람이 있습니까 ?

관련 정보