xdotool
CSV에서 일부 데이터를 읽고 이를 다른 소프트웨어의 양식에 입력하는 간단한 BASH 스크립트가 있습니다 .
#!/bin/bash
sleep 5
while read -r line
do
a="$(echo $line | awk '{ print $1 }')"
xdotool type $a
xdotool key "$Tab"
done < ./data.csv
aplay Beep.wav
스크립트는 예상대로 작동하지만 경고음 후에 화면이 잠깁니다.
- 마우스는 움직이지만 창에서는 볼 수 없으며(예: 도구 설명이 표시되지 않음) 아무 것도 클릭할 수 없으며 현재 창도 클릭할 수 없습니다.
- 키보드 단어(단, 현재 창 내에서만 가능)
- 이렇게 창문이 5분 정도 잠겨 있다가 갑자기 더 이상 잠겨 있지 않더라고요.
CTRL+ALT+F1을 사용하면 콘솔을 변경할 수 있지만 콘솔이 잠기는 것을 막지는 못했습니다 killall -9 xfce4-terminal
.killall -9 xdotool
xdotool
스크립트에서 현재 창이 실행된 후 잠기는 것을 방지하는 방법은 무엇입니까 ?
답변1
상호 작용하려는 창을 클릭하기를 기다리고 있기 때문에 경고음이 울립니다. 커서가 "+" 기호로 바뀌는 것을 눈치채지 못하셨나요?
맨페이지를 다시 읽어보세요. 창 ID(--window)를 제공해야 합니다.ID)
답변2
비슷한 문제가 있었기 때문에 답을 찾고 있는 다소 오래된 질문을 직접 발견했습니다. 저는 xdotool을 사용하여 웹사이트(Firefox)에 자동으로 로그인 정보를 입력합니다.
xbindkeys를 사용하여 키 조합을 스크립트에 바인딩합니다. 스크립트는 창 이름(xdotool도 사용)을 인식하고 암호화된 파일에서 관련 항목을 찾은 다음 적절한 로그인 정보를 로드하고 이를 입력합니다.
내 스크립트의 복잡성, 사용자의 상호 작용, 입력 필드에 정보를 입력하는 방식에 대해서는 설명하지 않겠습니다. 그런데 문제를 해결했어요실제 타이핑을 하기 전에 짧은 잠을 추가하세요.
sleep 0.4
xdotool type ...
나는 이것이 해키적인 해결책이라는 것을 인정하지만 작동하는 것 같습니다. 이 솔루션이 이 매우 실망스러운 오류(?)를 극복하고 싶거나 다른 사람들에게 더 나은 답변을 작성하도록 촉구하는 모든 사람에게 도움이 되기를 바랍니다.