我想模拟键盘输入,以便我可以将剪贴板内容“粘贴”到不允许它的应用程序(例如远程 KVM)。现在,我正在尝试使用xdotool和xclip:
xdotool type "$(xclip -o)"
Run Code Online (Sandbox Code Playgroud)
如果我留在终端窗口中并自己键入该命令,则此命令有效。当我运行命令时,它会输入我的剪贴板内容。我的目标是将此命令绑定到一个热键,以便它可以在任何应用程序中使用。

如果我使用此热键,任何具有焦点的窗口都会发生意外行为。例如,我的终端窗口尺寸缩小了(实际上这有点有趣)。如果我将其另存为脚本并调用该脚本,或者如果我将命令封装为sh -c. 如何实际使用强大的xdotool type命令?
我正在尝试运行此命令:
xdotool key ctrl+super+d
Run Code Online (Sandbox Code Playgroud)
它应该切换显示桌面,但它不起作用。当我自己按下键时,它可以工作。
我正在尝试将鼠标上的切换窗口按钮绑定到 Ubuntu。目前我正在尝试使用xbindkeysandxte来做这件事,但是.xbindkeysrc只在输出 aTab并且不切换窗口中执行此操作。
当前.xbindkeysrc代码:
"'xte' 'keydown Alt_L' 'keydown Tab' 'keyup Tab' 'keyup Alt_L'"
b:10
Run Code Online (Sandbox Code Playgroud)
我想知道是否有一个不同的命令可以直接给出切换窗口的指令。
编辑:我也试过xdotool,这是使用它的代码:
"xdotool keydown alt key Tab && sleep 1 && xdotool keyup alt"
b:10
Run Code Online (Sandbox Code Playgroud)
它也没有用。
EDIT2:我xdotool在命令行中尝试了一个并且它有效。有什么原因它不起作用xbindkeys吗?
我一直在玩弄wmctrl以更好地控制我的窗户。我遇到了一个奇怪的行为,Unity 保留了两倍的空间。
请参阅此屏幕截图:
我打开终端并使用 top 命令移动窗口。它应该在左上角 (X=0 Y=0)。但出于某种原因,终端和 Unity 条之间存在一些余量。
如果我正确理解手册页,它可能与WA: 65,24 有关。
有人可以帮我解决这个问题吗?
对于某些脚本,我需要获取当前光标下的单词。
可以xdotool或类似的工具得到它吗?
我\xe2\x80\x99在 Ubuntu 中遇到了一个问题,该问题似乎至少从 version 开始就一直存在20.04。该问题似乎与不可打印字符的处理有关,例如\\n、\\t和\\e。
Here\xe2\x80\x99s 是演示该问题的 Python 代码片段:
\nimport sys\nfrom pynput.keyboard import Controller, Key\n\nkeyboard = Controller()\nmessage = \' \'.join(sys.argv[1:])\nkeyboard.type(message.replace(\'\\n\', r\'\\n\'))\nRun Code Online (Sandbox Code Playgroud)\n在上面的代码中,如果我删除该.replace(\'\\n\', r\'\\n\')部分,脚本的运行速度会明显变慢。似乎换行符(和其他不可打印字符)的存在会减慢执行速度。
此问题不限于 Python 或pynput库。我\xe2\x80\x99已经能够使用 重现它,并且它似乎是 Ubuntu 上的(和) 、以及类似工具xlib性能缓慢的根本原因。libxdoxdotoolpyautogui
有趣的是,这个问题在 Arch Linux 上不会出现\xe2\x80\x99。
\n我的问题是:任何人都可以确定并解释为什么会发生这种情况吗?任何见解将不胜感激。
\n我正在尝试创建一个快捷方式来发送,例如,通用量词符号,?(U+2200)。Xdotool自己的文档并没有真正解释这一点。
当前/技术上是否可以在当前活动窗口中显示当前日期和时间(即:数字时钟数字)?喜欢从脚本中附加一些文本吗?
有没有办法不选择屏幕位置,而是选择相对于它所在位置的位置?
例如,它可能是 xdotool mousemove +5 +0
这存在吗?
我正在尝试使用 Ubuntu 16.04 在我的笔记本电脑上按照我想要的方式进行文本选择。我的笔记本电脑上没有 home/end 键,因此我安装了 xdotool 并使用映射Super+left到xdotool getactivewindow key Home和 的Super+right键盘设置xdotool getactivewindow key End。
这按预期工作。但是,我还想选择Shift+Super+Left 从光标到行首的文本,并类似地Shift+Super+Right选择到行尾。我尝试使用将这些组合映射到 xdotool xdotool getactivewindow key shift+Home,但这似乎不起作用。
我还尝试sleep 4 && xdotool key shift+Home在终端中运行,然后切换到文本编辑器,似乎只有按键Home被触发 - 没有选择任何文本。所以这看起来像是 xdotool 问题而不是我的键盘问题。有谁知道 xdotool 选择文本到行首/行尾的正确组合键?
更新:
使用sleep 4 && xdotool key Shift+Home大写S表示轮班工作。文本在我的文本编辑器中突出显示,从光标到行首。然而,即使使用大写的 S,它仍然不能作为快捷方式工作。所以现在我认为我在 Ubuntu 键盘设置中输入 xdotool 命令的方式还有其他问题。