是否可以从 bash 启动命令并向其发送击键

是否可以从 bash 启动命令并向其发送击键

我正在尝试从 bash 启动 Firefox,并且希望它在启动时打开 Web 控制台(这可以通过在启动后立即按 F12 来完成)。是否有一个 bash 命令可以启动程序并在启动时发送 F12 键?我已经查看了 xdotool 并尝试创建一个 bash 脚本,该脚本启动 Firefox,然后使用 xdotool 发送密钥,但是直到我关闭 Firefox 后,xdotool 命令才会运行。

答案1

#!/bin/sh 
set -e #abort if anything fails
firefox & #run firefox in the background
pid=$!    #remember its pid

#Poll X until firefox sets up a window
#remember the X id of the window
while [ -z "$id" ]; do
    id=$(xdotool search --onlyvisible --pid $pid) 
    sleep 0.1 #poll interval
done

#Bring the window to the front and send it the F12 key
xdotool windowactivate $id && xdotool key F12
disown "$pid"

但这不是很稳健。配置firefox自己打开控制台会更好。

相关内容