如何在bash脚本中使用xdool正确检测窗口
我正在尝试录制屏幕和网络摄像头的输入。要显示网络摄像头的图像,我使用ffplay。但是,我希望它被放置在我的屏幕的特定位置。为此,我使用xdool和以下bash脚本:如何在bash脚本中使用xdool正确检测窗口,bash,ffmpeg,terminal,xdotool,Bash,Ffmpeg,Terminal,Xdotool,我正在尝试录制屏幕和网络摄像头的输入。要显示网络摄像头的图像,我使用ffplay。但是,我希望它被放置在我的屏幕的特定位置。为此,我使用xdool和以下bash脚本: #!/bin/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秒。有可能立即这样做吗?