![如何设置 xdotool 和 gedit 打开文档并保存两次?](https://linux22.com/image/962927/%E5%A6%82%E4%BD%95%E8%AE%BE%E7%BD%AE%20xdotool%20%E5%92%8C%20gedit%20%E6%89%93%E5%BC%80%E6%96%87%E6%A1%A3%E5%B9%B6%E4%BF%9D%E5%AD%98%E4%B8%A4%E6%AC%A1%EF%BC%9F.png)
我需要帮助来创建执行以下操作的脚本:
- 打开 Gedit
- 使用 Gedit 打开文档
- 保存文档两次
- 关闭 Gedit
我想知道如何使用 Gedit 和 xdotool 来实现这一点,因为 xdotool 可以模拟组合键来保存文档Ctrl+S
答案1
窗口必须处于焦点状态,否则编辑将忽略发送的 X 事件工具。
你的脚本应该是这样的:
/bin/bash #!/bin/bash gedit -s /路径/到/文档 # -s 是独立的,意味着将打开一个新窗口,而不是任何现有 gedit 中的选项卡。 sleep 5 # 等待 gedit 打开,必要时进行调整 GEDPID=$!#保存gedit进程的PID sleep 2 # 等待 gedit 实际打开文档,如有必要进行调整 GEDWINID=`xdotool 搜索 --pid $GEDPID | tail -1` # 获取 gedit 的窗口 ID,第三个“子”是实际窗口 xdotool windowactivate --sync $GEDWINID key --clearmodifiers --delay 100 ctrl+s ctrl+s alt+F4 # 聚焦 gedit 窗口,等到聚焦,然后保存两次并退出