如何在bash脚本中使用xdool正确检测窗口

如何在bash脚本中使用xdool正确检测窗口,bash,ffmpeg,terminal,xdotool,Bash,Ffmpeg,Terminal,Xdotool,我正在尝试录制屏幕和网络摄像头的输入。要显示网络摄像头的图像,我使用ffplay。但是,我希望它被放置在我的屏幕的特定位置。为此,我使用xdool和以下bash脚本: #!/bin/bash

我正在尝试录制屏幕和网络摄像头的输入。要显示网络摄像头的图像,我使用ffplay。但是,我希望它被放置在我的屏幕的特定位置。为此,我使用xdool和以下bash脚本:

 #!/bin/bash                                                                                                                                                                                                                                   
 ffplay -i /dev/video0 &                                                                                                                                                                                       
 res=$!                                                                                                                  
 echo $res                                                                                                               
 window_pid=$(xdotool search --pid $res)                                                                                       
 echo $window_pid
 xdotool windowmove $window_pid 1200 200                                                                                                       
 wait
由于某些原因,我得到了正确的进程id res,但窗口pid没有任何结果。如果我在终端中运行类似的命令,它将正常工作,我将在一个终端实例中运行ffplay,在另一个终端实例中运行其余命令。我错过了什么

您可以尝试以下方法:

#!/bin/bash                                                                                                                                                                                                                                   
ffplay -i /dev/video0 &                                                                                                                                                                                       
res=$!                                                                                                                  
echo $res                                                                                                               
until window_pid=$(xdotool search --pid $res); test -n "$window_pid"; do
    sleep .1
done
echo $window_pid
xdotool windowmove $window_pid 1200 200                                                                                                       
wait

xdotool工作得很好,我只是对脚本有问题,而不是你在第一次回音后放入sleep 5的实用程序?它的工作延迟为5秒。有可能立即这样做吗?