在linux脚本中使用xte

snvhrwxg  于 2023-04-20  发布在  Linux
关注(0)|答案(2)|浏览(138)

我有一个关于xte以及它在linux ubuntu脚本中如何工作的问题。
我的脚本同时打开一个程序(./program_to_open)和一个文件(~path/to/file.txt)。这行代码是:

./program_to_open ~/path/to/file.txt

我想使用键盘命令“Control+S”来保存这个文件。如果我正确理解了xte,我可能没有,我会使用这样的脚本:

#!/bin/bash
cd Desktop/user/folder...
./file_to_open ~/path/to/file.txt
sleep 3
xte 'key Control_S'

或者...

#!/bin/bash
cd Desktop/user/folder...    
./file_to_open ~/path/to/file.txt
sleep 3
xte 'keydown Control_S'
sleep 1
xte 'keyup Control_S'

是不是应该这样还是我忽略了什么?

4c8rllxm

4c8rllxm1#

似乎使用xte同时按住多个键的唯一方法是使用几个keydown命令。以下命令对我有效:

xte 'sleep 3' 'keydown Control_L' 'keydown s' 'keyup Control_L' 'keyup s'
hc2pp10m

hc2pp10m2#

我不会键控控制,直到你有键控的's '。但当你交换最后两个行动,你把sactiosn在一起,所以他们也可以合并成一个行动。

xte 'sleep 3' 'keydown Control_L' 'key s' 'keyup Control_L'

虽然对于这种类型的事情,我更喜欢使用xdotool

xdotool keydown Control key s keyup control

Xdotool的优点是可以找到你想要控制的窗口,甚至可以相对于窗口移动鼠标。这可以使使用“visgrep”来相对于窗口点击鼠标“图像”变得容易得多。

相关问题