当你离开 Mac 时,用自动化脚本让你的锁屏界面变得更有趣

您所在的位置:网站首页 如何关闭锁屏上的新闻 当你离开 Mac 时,用自动化脚本让你的锁屏界面变得更有趣

当你离开 Mac 时,用自动化脚本让你的锁屏界面变得更有趣

2023-04-26 12:57| 来源: 网络整理| 查看: 265

锁屏信息

随着人们对自动化的需求越来越高,越来越多的 Mac 用户开始使用脚本来完成各种任务。而在这些任务中,设置锁屏界面上的信息是一件非常实用的事情,比如留下一些鼓励的话语,提醒自己带伞,或是放上一张漂亮的照片等等。今天,我将介绍如何使用自动化脚本来修改你的 Mac 锁屏界面信息。

在这篇文章中,我们将使用两个文件:一个 Bash 脚本和一个 LaunchDaemon 属性列表文件。Bash 脚本将从 Jinrishici API 中获取随机诗句和天气信息,并将它们格式化为字符串。然后我们将使用 LaunchDaemon 属性列表文件来启动该脚本,并将生成的字符串作为锁屏界面信息。

安装 jq

首先,我们需要安装一个称为 jq 的 JSON 解析器,它将帮助我们从 Jinrishici API 返回的 JSON 数据中提取所需的信息。你可以通过 Homebrew 来安装它,Homebrew 是一个 Mac 上的包管理器。在终端中输入以下命令来安装 jq:

```bash

brew install jq

```

创建 set_welcome_message.sh 设置个性化信息

### 脚本依赖

1. 📜[今日诗词-一言API](https://www.jinrishici.com/) 提供了获取随机诗词和天气的信息

2. 🤏[curl](https://github.com/curl/curl) 一个常用的命令行工具,可以用于发送HTTP请求并获取响应数据

3. 🕵️[jq](https://github.com/stedolan/jq)一个轻量级的命令行JSON处理器,可以用于解析、查询和转换JSON格式的数据

接下来,创建 `/usr/local/bin/set_welcome_message.sh` 文件,并将以下代码复制到文件中:

### /usr/local/bin/set_welcome_message.sh

终端执行 `sudo /usr/local/bin/set_welcome_message.sh`,我们就可以使用快捷键 `Control + Command + Q` 快速锁定屏幕,查看效果了。

这里,我们设置了一个执行日志`/usr/local/bin/set_welcome_message.log`,我们可以查看执行失败的原因。

创建 com.set_welcome_message.plist 后台自动化执行脚本

### 关键点

1. 后台执行脚本

2. 使用root

### 关于后台执行脚本的几种方案

macOS 有很多后台执行脚本的方式,以下是其中的一些:

1. LaunchAgents 和 LaunchDaemons:这是 macOS 中最常用的后台脚本执行方式。它们是由系统启动,可以在后台运行,并在满足一些条件时自动运行脚本。LaunchAgents 用于当前用户的任务,而 LaunchDaemons 用于系统级别的任务。

| 文件类型 | 存放位置 | 作用 |

| --- | --- | --- |

| LaunchAgent | ~/Library/LaunchAgents/ | 当特定用户登录时,启动一些程序 |

| LaunchDaemon | /Library/LaunchDaemons/ | 系统启动时启动一些程序 |

| StartupItem | /Library/StartupItems/ 和 /System/Library/StartupItems/ | 系统启动时启动一些程序 |

| cron | /usr/lib/cron/tabs/ | 按照一定的时间周期性地运行程序 |

| at | /usr/lib/at/ | 在指定的时间运行程序 |

2. cron:cron 是一个 Unix 和类 Unix 系统上的后台进程,用于定期执行任务。它可以通过命令行配置,也可以使用 GUI 应用程序进行配置。

3. Automator:Automator 是 macOS 上的一个自动化工具,可以创建自定义的工作流程并自动化执行各种任务。它支持许多不同的操作,并且可以与其他应用程序和脚本集成。

4. shell 脚本:使用 shell 脚本可以在 macOS 上执行各种自动化任务,包括文件处理、系统管理和数据转换等。

5. Python、Ruby、Perl 等脚本语言:macOS 默认安装了一些编程语言,如 Python、Ruby、Perl 等,这些语言可以用来编写脚本,执行各种自动化任务。

### 选择LaunchDaemon作为后台执行的方案

这里我们选择,LaunchDaemon 下编写 plist 文件,去执行之前创建的 sh 脚本

下一步,我们需要创建一个 `LaunchDaemon`,以确保我们的脚本在每次登录和系统重启后都能自动运行。在 macOS 中,`LaunchDaemon` 是一种系统级别的后台任务管理器,用于在系统启动时自动运行指定的脚本。

我们将创建一个名为 `com.set_welcome_message.plist` 的 `LaunchDaemon` 文件,并将其放置在 `/Library/LaunchDaemons/` 目录中,以确保它能够在系统启动时被正确加载和执行。你可以使用终端来创建这个文件,也可以使用任何文本编辑器。

下面是一个 `com.set_welcome_message.plist` 的示例代码:

### /Library/LaunchDaemons/com.set_welcome_message.plist

在这个示例代码中,我们定义了 `com.set_welcome_message` 的标签,以及要运行的脚本的路径和参数。`RunAtLoad` 标记将在启动时运行这个脚本,`StartInterval` 标记将在每 60 秒运行一次这个脚本。我们还设置了 `UserName` 和 `GroupName` 标记,以及 `KeepAlive` 标记,以确保该 `LaunchDaemon` 在系统重启后仍然处于活动状态。

将 `com.set_welcome_message.plist` 文件保存到 `/Library/LaunchDaemons/` 目录中。确保该文件具有正确的权限,以便 macOS 能够加载它。

最后,运行以下命令以启动 `LaunchDaemon`:

```bash

sudo launchctl load /Library/LaunchDaemons/com.set_welcome_message.plist

```

现在,你可以注销并重新登录你的 macOS,看看你的锁屏界面是否已经更新为新的问候语和天气信息了!

```

    StartInterval

    60

```

这里,我们设置了每60s执行脚本,显然过于频繁,实践中,我们可以设置更长时间间隔。

当然,我们也可以添加一个输出日志,获取使用命令行查看执行情况,这里不做赘述。

总结

通过使用自动化脚本和 `LaunchDaemon`,我们可以很容易地自定义 macOS 的锁屏界面。这里,我们可以使用了 Jinrishici API 获取诗词和天气信息,并将它们放在登录窗口中,你也可以挖掘更多方法呈现个性化内容,为我们的 macOS 的使用带来更多乐趣和实用性。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3