GUI 프로그램은 표준 입력에서 읽지 않고 X 서버 에서 입력을받습니다 . 키 스트로크를 창에 주입하는 도구가 있습니다. xdotool 은 상당히 일반적이며 편리합니다.
키 입력을 보내려는 창 ID를 찾아야합니다. xdotool로 그렇게 할 수 있습니다. xdotool search --class Chrome
모든 Chrome 창의 창 ID 목록을 반환합니다. 이것이 둘 이상을 반환하면 원하는 것을 선택해야합니다. xdotool search --name
수업 대신 제목을 일치시키는 데 사용할 수 있습니다 . wmctrl 의 출력을 구문 분석 하고 원하는 창 ID를 추출 할 수도 있습니다 .
올바른 창 ID를 찾았 으면 전화 xdotool
를 걸어 키 입력을 삽입 할 수 있습니다 . 불행히도 많은 응용 프로그램은 다른 응용 프로그램에서 보낸 키 입력 및 마우스 이벤트와 같은 합성 이벤트를 거부합니다. 현재 버전의 Chrome의 경우입니다. 다른 메커니즘으로 다른 응용 프로그램에서 키 입력을 주입 할 수 있지만 창에 초점을 맞춰야합니다. xdotool을 사용하면이 모든 작업을 수행 할 수 있지만 Chrome 창에서 포커스가 빠르게 깜박 거립니다. 다음 스 니펫은 F5첫 번째 Chrome 창에 다소 임의의 순서로 전송됩니다.
xdotool search --class Chrome windowactivate --sync %1 key F5 windowactivate $(xdotool getactivewindow)
또는 이전 버전의 xdotool을 사용하는 경우 :
xdotool windowactivate $(xdotool search --class Chrome) &&
xdotool key F5 &&
xdotool windowactivate $(xdotool getactivewindow)
이것은 F5해당 창으로 전송 되며 프로그램으로 무엇을할지 결정해야합니다. Chrome에서는 현재 탭이 다시로드됩니다.