왜 `xwininfo`와 `xdotool`이 다른 창 ID를 제공합니까?

왜 `xwininfo`와 `xdotool`이 다른 창 ID를 제공합니까?

터미널 에뮬레이터(lxterminal)의 탭에서 탭과 해당 창을 "소유"하는 프로세스를 클릭하여 창 ID를 찾으려고 합니다(창 간의 관계를 설명하기 위해 어떤 단어를 사용해야 할지 아직 잘 모르겠습니다). 및 프로세스가 있으므로 "own"을 사용합니다), 둘 다xwininfo

$ xwininfo -int | grep -Po '(?<=Window id: )[0-9a-zA-Z]+'
31457283
$ xdotool getwindowpid 31457283
1480    
$ ps aux | grep -i 1480
t         1480  0.1  0.3 473204 31240 ?        Sl   Nov21  23:18 lxterminal

그리고xdotool

$ xdotool selectwindow 
35652689
$ xdotool selectwindow getwindowpid
window 35652689 has no pid associated with it.

xwininfo다른 창 ID가 제공되어 xdotool처리 결과가 다른 이유는 무엇 입니까?

감사해요.

답변1

방금 직장에서 xdotool을 사용하여 VNC 클라이언트 시작 스크립트를 발견했습니다(죄송합니다. 세부 정보를 공개할 수 없습니다). 관련된 두 줄은 다음과 같습니다.

w=`xdotool search --name "$VNC_client"`; x=`printf 0x%x $w`; qtembed $x

그래서 나는 형식 변환 지정자(printf의)를 통해 결과를 보고하는 데 사용되는 기본의 단순한 차이로 인해 다른 숫자가 발생할 가능성이 가장 높다고 의심합니다.

관련 정보