问题标签 [xdotool]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3606 浏览

xdotool - 如何在 xdotool 中转义字符

我有这个脚本来打开一个新的控制台,ssh 进入服务器,运行部署命令。

我将部署的版本传递给脚本

我有几个问题,我已经尝试用谷歌搜索没有成功的解决方案。

  • 字符/转换为&. 当我运行脚本时
  • 在控制台中复制和粘贴它可以工作,但如果我将它作为 sh 文件运行则不行
  • $1 未评估

你能给我任何关于这项工作的指导吗?xdotool 不是强制性的,我会使用它的任何工作

注意:由于公司的安全政策,我无法通过命令通过 ssh,并且如果我无法在myserver中进行设置,我也不知道该怎么做

0 投票
1 回答
3990 浏览

bash - xdotool 录音机

有人知道自动 xdotool 脚本生成器吗?理想情况下,我想在我的桌面上记录一系列动作,并让它自动为我制作成 xdotool 脚本,而不是手动添加暂停和计算像素等。

0 投票
1 回答
351 浏览

linux - 如何在 Linux 上禁止用户更改操作系统窗口焦点/键入键几秒钟

我为网站编写自动化测试。其中一项测试需要按Ctrl+S并键入一些字母来保存包含 CSS/JS 的网页。测试应该要求 Firefox 在这几秒钟内具有窗口焦点,以便能够键入文件名并单击“保存”(当前 XDoTool 用于按键和单击鼠标)。

有时我在我的电脑上运行测试。我不想在保存页面时偶尔键入某些内容或更改窗口焦点,因此我想在这些鼠标单击/按键运行时禁止更改焦点几秒钟。

在 Webdriver 级别(我用来控制浏览器的工具)不可能做到这一点,所以我认为我应该在操作系统级别做到这一点。我可以在一段时间内禁止用户更改窗口焦点或输入任何内容吗?它可能看起来像:

0 投票
2 回答
6361 浏览

linux - 链接静态库后未定义的引用

我写了一个简单的程序来测试 xdotool 是否可以满足我的要求。(嗯,不是真的。我的第一步是确定我是否可以调用 xdotool 库。)

但是,当我用 编译它时g++ -o a main.cpp libxdo.a -lXtst -lX11 -lXinerama -I ../test/xdotool-2.20110530.1,我收到以下错误消息:

我没有使用 apt-get install 的开发包,因为它安装了一个动态库。所以,我做了一个 apt-get 源码并自己构建了这个库。我通过执行以下命令验证了 xdo_version 和 xdo_new 是静态库中定义的函数:

如果我没记错的话,T除了符号的名称意味着该函数已定义。

总之,我试图让上面的 C++ 片段成功编译并静态链接到 xdotool,但遇到了一些如上所述的错误。

0 投票
1 回答
5020 浏览

c++ - 将击键发送到 X 窗口

我目前正在尝试使用 xdotool 向进程发送密钥(我知道它可能不适用于所有未设置 _NET_WM_PID 的进程)。我无法从焦点向其他窗口发送击键。如果您将击键发送到CURRENTWINDOW. 下面是我用来测试 xdotool 功能的片段。

除了测试 xdotool 的功能之外,我还研究了 xdotool 的源代码。有趣的是,我发现他们使用 Xtest 将击键发送到焦点窗口 ( CURRENTWINDOW) 和 X11发送XSendEvent其他窗口。我转向 xdotool 因为我无法让 XSendEvent 工作并且 Xtest 无法将键发送到焦点窗口以外的任何其他窗口。

我没有正确使用 xdotool 吗?xdotool 是否不适用于所有带有 X11 的 *nix 操作系统?

[我在 Ubuntu 13.04 上运行它。]


编辑

因此,它看起来确实有效,但不适用于它找到的所有窗口。例如,它适用于 firefox,但不适用于 gedit 和 gnome-terminal,尽管它通过 pid 找到了 gedit 和 gnome-terminal。如果我使用它,它的行为会有所不同CURRENTWINDOW

所以,如果有人能解释为什么会这样,那就太好了。就像,它是否与 XEvent 中的强制发送标志有关?

0 投票
0 回答
705 浏览

python - 我可以将终端保持为活动窗口,即使它在后台?- Python 3.3

天,

我刚刚在这里发布了这个问题。紧接着,当它在另一个窗口后面运行时,是否有办法将键盘用户输入锁定到终端?我的系统要求用户在终端内扫描他们的条形码(条形码扫描仪充当键盘。即输出一串字母并按 Enter)。但是,系统还要求在连接的监视器上显示日志 CSV 文件。因此,在终端处于后台时,打开时光标会自动恢复为日志 CSV 文件,从而禁止将用户的条码扫描输入终端。

我对 Python 还是比较陌生,还没有完全弄清楚这个系统的功能。我最终会设置它,当系统启动时,日志文件将自动在顶部打开,终端(和光标输入)在后台运行。

同样,我没有任何代码来展示我的尝试,但我已经进行了广泛的研究。我发现唯一可能提供此功能的是 xdotool。我可以自动重新排列窗口,使终端始终在后面,并以某种方式自动将终端分配为“活动”窗口?

这里的任何帮助都会很棒!

谢谢!

0 投票
4 回答
4210 浏览

bash - xdotool 和键盘布局

问题

我正在尝试做:

但不是预期的

我得到:

我有一个希腊键盘,但是当我发出命令时,语言设置为美国。注意:当使用希腊语时,键盘的键 'q' 用于分号';' (这是默认行为/映射

问题

我该怎么做才能得到一个带有 xdotool 类型的分号?

一些信息

我在 XUbuntu 上使用 Xfce 4.8

0 投票
2 回答
380 浏览

ubuntu - 在桌面上的指定点自动调用 xprop (X11, Ubuntu)

将其输入终端后,我必须单击一个窗口才能获得结果。

我想自动化这个。我想在指定位置获取 WM_NAME-Window 名称,例如 x=10 和 y=40 (BFB)。

每个命令本身都在工作,但不是全部一起工作。如何将其放入执行所有命令的脚本中?

0 投票
2 回答
1983 浏览

python - XDOTOOL 不会将点击传递到特定窗口

只是这里的 xdotool 有一些问题 - 很棒的程序,但不幸的是没有表现出来。

该程序应该呈现一个带有按钮的窗口。单击按钮时,光标会发生变化,您将鼠标移出窗口并单击其后面的窗口(例如 GIMP)。然后鼠标回到按钮上方,但点击进入后面的程序。但是,它没有这样做。提前道歉,这是一个很难描述的想法。

如果您能提供任何帮助,我将不胜感激。

干杯!

0 投票
1 回答
2344 浏览

shell - xdotool:如何等待文件打开然后执行(xdotool windowactivate --sync $a)

我们这里有一个寻找标题的代码

如果它找到它,它会激活它,然后重新定位它。

但问题是,如果文件未打开.. 它会
打开它就好了。但是不会激活并重新定位它。

更新

我想它不必激活它,因为它在打开时会处于活动状态,但它不能重新定位它。