我需要帮助来创建执行以下操作的脚本:
- 打开 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 窗口,等到聚焦,然后保存两次并退出