Ubuntu 데스크탑에서는 xdotool
마우스를 사용하여 내 앞에 있지 않은 창(예: Firefox의 창)을 클릭하고(예: 링크 클릭) 일부 키(예: + )를 눌러 Ctrl다른 창에서 작업할 수 있습니다. 숨겨진 창에서 작동 s하면서 다른 창 위에 올려야 하는 경우 ?xdotool
감사해요.
답변1
창 ID를 얻으려면 다음을 실행하십시오.
sleep 5; xdotool getactivewindow
5초 동안 기다린 후 활성 창 ID를 가져옵니다. 이 명령을 실행하고 Firefox를 클릭한 후 완료될 때까지 기다립니다. 다음 단계에서 이 ID를 사용하세요.
다음을 실행하여 특정 창에 직접 키 입력을 보낼 수 있습니다.
xdotool type --window [window ID] Hello World
man xdotool
명령과 기능의 전체 목록을 얻으려면 명령을 사용하십시오 !
Xdotool은 주요 이벤트를 생성하여 Firefox 창으로 직접 보냅니다. 그러나 특정 창에 키 입력을 보내는 것은 단순히 활성 창에 입력하는 것과는 다른 API를 사용하며 많은 응용 프로그램은 이를 무시합니다.
답변2
예
Xdotool을 사용하면 앞에 있지 않은 창에 입력을 보낼 수 있습니다. 그러나 모든 창이 그러한 입력을 받아들이는 것은 아닙니다. 예를 들어 xterm
"이벤트 전송 허용" 옵션을 선택하지 않는 한 그렇지 않습니다. Chromium
도 아니다. 그러나 적어도 2019년 현재에는 Firefox가 작동합니다.
다음은 모든 Firefox 창에서 현재 탭을 다시 로드하는 예입니다.
xdotool search --class firefox key --window %@ Ctrl+F5
답변3
다음 명령을 사용하여 이 창을 자동으로 활성화하고 이전에 활성화된 창으로 돌아갈 수 있습니다: (예: Space를 Firefox로 전송)
activewindow=$(xdotool getactivewindow)
xdotool windowactivate --sync $(xdotool search --name "Firefox") key space
xdotool windowactivate "$activewindow"
답변4
이것은 약간의 변화로 나에게 효과적입니다. 인라인 실행을 사용하여 작동하게 할 수 없습니다.
activewindow=$(xdotool getactivewindow)
wantedwindow=$(xdotool search --name "Firefox")
xdotool windowactivate $wantedwindow
(xdotool commands here, starting with xdotool e.g. xdotool mousemove 0 0)
xdotool windowactivate $activewindow