xdotool 없이 터미널을 통해 마우스 움직임을 시뮬레이션할 수 있나요?

xdotool 없이 터미널을 통해 마우스 움직임을 시뮬레이션할 수 있나요?

가상으로 마우스를 움직여 컴퓨터가 작동 중지되는 것을 방지하는 스크립트를 작성하고 싶습니다. 그런데 xdotool제가 사용하고 있는 컴퓨터에는 존재하지 않고, 루트가 아니기 때문에 설치할 수 없습니다. 커서를 사용하지 않고 움직일 수 있는 방법이 있나요 xdotool?

답변1

~에 따르면이것답변 명령줄을 사용하여 마우스 포인터를 이동할 수 있습니다. 다음 단계를 따르세요.

  1. 먼저 마우스 입력 장치를 찾아야 합니다.

    grep mouse /proc/bus/input/devices | grep event
    

H: Handlers=mouse0 event7나와 비슷한 것을 보아야 합니다 . 여러 개의 마우스(예: 터치패드)가 있는 경우 두 줄 이상을 출력할 수 있습니다. 중요한 것은 event7이는 귀하가 에 편지를 쓰게 될 것임을 의미합니다 /dev/input/event7.

  1. 다음 코드는 마우스 포인터를 오른쪽으로 100픽셀 이동합니다.

    seconds=$(date +%s)
    type=2      # EV_REL
    code=0      # REL_X
    value=100   # 100 pixels
    
    printf '%08X%04X%04X%08X%08X\n' $value $code $type 0 $seconds | xxd -r -p | \
        perl -0777e 'print scalar reverse <>' > /dev/input/event7
    
    type=0      # EV_SYN
    code=0      # SYN_REPORT
    value=0
    
    printf '%08X%04X%04X%08X%08X\n' $value $code $type 0 $seconds | xxd -r -p | \
        perl -0777e 'print scalar reverse <>' > /dev/input/event7
    

나는 이 프로세스가 잠금 메커니즘을 중단한다는 의미에서 실제 마우스 움직임에 해당하는지 여부를 테스트하지 않았습니다.

답변2

루트가 아니라고 해서 xdotool특별한 권한이 필요하지 않기 때문에 프로그램을 실행할 수 없다는 의미는 아닙니다.

그냥 다운로드하고 컴파일하세요소스에서.

컴파일러에 액세스할 수 없는 경우 시스템에 적합한 패키지를 직접 다운로드하고 패키지에서 파일을 추출할 수 있습니다(처음 .deb사용하는 경우 ar추출을 사용할 수 있음).rpmrpm2cpio

관련 정보