예

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

관련 정보