有没有办法根据 PC/Mac/Linux 上的条件自动运行脚本,就像 Android 版 Tasker 一样?

有没有办法根据 PC/Mac/Linux 上的条件自动运行脚本,就像 Android 版 Tasker 一样?

我考虑的并不是纯粹的计划任务,而是在满足某些条件时后台守护进程会自动触发脚本。

对于那些在 Android 上使用过 Tasker 的人来说,你可能已经知道我在说什么了。对于那些没有使用过的人,这将包括以下内容:

  • 当 Macbook 插入或拔出时自动触发脚本;或
  • 让计算机在收到某条消息(通过开放端口、电子邮件等)时自动进入睡眠模式,然后以类似的方式再次唤醒;或者
  • 在一天中的某个时间自动打开与同一网络上的文件服务器的连接;等等。

我已经看到过各种各样的软件工具来零碎地完成这种事情,但我非常好奇地想找到任何一种几乎集成的方式,无论是预制的还是自制的,来实现我在手机上习惯的那种自动化灵活性。

我还认为,如果应用于各种操作系统而不是更有限的操作系统,这个问题将最有帮助。

答案1

我没有考虑纯粹的计划任务

实际上,我认为您考虑的是计划任务,至少在 Windows 中是这样。在 Windows 7 中,您可以设置基于某些事件启动的计划任务。从您的列表中,我至少知道 1 和 3,也可能知道 #2,具体取决于正在监听的应用程序。


下面的屏幕截图显示了可用的触发器选项。这里最重要的选项是“在事件上”选项,因为 Windows 会将大量信息写入事件日志。只需在事件查看器中跟踪一个示例即可。

任务触发器

以“从睡眠中恢复”为例,选择系统事件日志、电源疑难解答源和事件 ID 1。“自定义”选项还允许您过滤事件中的数据。

答案2

我最近自己发现的一个 Mac 解决方案是控制平面

作为 MarcoPolo 项目的一个分支而开发的一款非常有用的应用程序。MarcoPolo 为您的便携式 Mac 电脑带来了情境感知计算功能。

它允许您的计算机通过从您的环境中收集证据(证据源)来确定其上下文,使用灵活的基于规则的模糊匹配做出有根据的猜测(规则),然后在改变上下文时执行任意操作(操作)。

上下文的概念是位置的概括,不仅仅指您的计算机所在的位置。上下文可能表示您正在做什么,或者您周围正在发生什么。

它静静地停留在屏幕顶部的状态栏中(菜单栏的右侧),您可以根据自己的需要进行配置。

答案3

对于 Linux,您可以使用 Udev 事件和/或 Systemd 服务。互联网上有很多关于如何设置它的信息。我建议从 Arch wiki 开始(系统化乌德夫)与您的发行版本无关

相关内容