가상으로 마우스를 움직여 컴퓨터가 작동 중지되는 것을 방지하는 스크립트를 작성하고 싶습니다. 그런데 xdotool
제가 사용하고 있는 컴퓨터에는 존재하지 않고, 루트가 아니기 때문에 설치할 수 없습니다. 커서를 사용하지 않고 움직일 수 있는 방법이 있나요 xdotool
?
답변1
~에 따르면이것답변 명령줄을 사용하여 마우스 포인터를 이동할 수 있습니다. 다음 단계를 따르세요.
먼저 마우스 입력 장치를 찾아야 합니다.
grep mouse /proc/bus/input/devices | grep event
H: Handlers=mouse0 event7
나와 비슷한 것을 보아야 합니다 . 여러 개의 마우스(예: 터치패드)가 있는 경우 두 줄 이상을 출력할 수 있습니다. 중요한 것은 event7
이는 귀하가 에 편지를 쓰게 될 것임을 의미합니다 /dev/input/event7
.
다음 코드는 마우스 포인터를 오른쪽으로 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
추출을 사용할 수 있음).rpm
rpm2cpio