【问题标题】:Detect mouse click in bash script在 bash 脚本中检测鼠标点击
【发布时间】:2011-12-02 19:02:52
【问题描述】:

我想知道如何在后台运行一个 bash 脚本,该脚本将在用户单击鼠标时执行某些操作(即运行脚本、命令或其他任何内容)。即使终端关闭,我也希望它继续运行。有任何想法吗?谢谢!

【问题讨论】:

  • 你能让你的窗口系统继续接受来自关闭窗口的输入吗?如果可以的话,我会感到非常惊讶。拥有一个活动鼠标假定有一些过程和事件循环来接受输入。如果你关闭一个窗口,你必须依靠外层软件来继续处理,也就是说要运行一个脚本,你的外层软件必须知道这个脚本。也许您可以在窗口关闭之前将其注册为父进程的右键单击事件(极不可能)。并且 bash 脚本通常不需要鼠标点击 (IMO)。抱歉,祝你好运。
  • 你说的是字符终端还是 X?
  • 我在这里看到两个不同的问题。第一个见stackoverflow.com/questions/5966903/…,第二个见阿米尔的回答。

标签: bash unix mouse


【解决方案1】:

如果你用的是X11,可以试试xdotool捕捉鼠标事件

应该是这样的:

xdotool search --onlyvisible . behave %@ mouse-click getmouselocation

xdotool manual

如果你想在后台运行脚本,你可以使用:

./myscript.sh &>/dev/null &

【讨论】:

    【解决方案2】:

    如果您只想在鼠标单击(或滚轮事件)时在 xterm 中运行 bash 命令,您可以尝试以下示例:

    $ echo -e "\e[?1000h"

    $ while read -n 6; do echo hellowworld; done

    这是用于轮子事件(而不是点击集 12)

    【讨论】:

    【解决方案3】:

    要在终端关闭时保持脚本运行,您可以尝试 nohup

    【讨论】:

      猜你喜欢
      • 2020-04-18
      • 2021-09-06
      • 2015-08-03
      相关资源
      最近更新 更多