是否可以让我的 Mac 在一天内第一次唤醒时自动打开 Safari 上的网站?
例如,我 8:30 来上班,唤醒/启动我的 Mac,Safari 就会自动打开某个 URL。
但当我去吃午饭时,我把它关掉/让它休眠,一小时后再回来,这一次什么也没发生。也许我有一个会议,然后晚点再回来,仍然什么也没发生。
直到第二天这个过程重复(仅在第一次打开 safari)
抱歉,我不清楚如何通过 Google 搜索此内容。
我认为“Automator”也许可以做这样的事情,但我认为它需要我手动点击它。
答案1
听起来launchctl
或者crontab
在这里可能会派上用场。我只知道如何使用crontab
。
使用crontab
- 进入终端(按Command+SPACE然后输入
Terminal
并按Return) - 输入
EDITOR=nano crontab -e
- 在此编辑器中输入
@daily open -a safari http://<website to open to>
- 然后按Control+ X(不要按 Command)
- 在确认新闻发布会上Y
- 当输入要保存的位置时,不要更改任何内容,只需按Return
这将在您每天第一次登录时启动 Safari。
来源open -a safari <url>
:https://superuser.com/a/459271/670755
答案2
这有两个部分。
首先,每天运行一次应用程序。我在 Linux 上用 Bash 写过这个,有人测试过。感谢应得的荣誉我引用了这个答案的一部分在 Bash 中调用 Safari
与往常一样,你需要根据自己的具体需求调整 bash 脚本,并且可能应该将其设置为硬编码完整路径或者为了整洁,请在特定文件夹中运行。照原样,脚本这是一个最小的可行示例。我怀疑 open 命令的特定语法可能需要调整,并且您可能希望完全硬编码 lockfiles 的路径以确保完全安全。
!/bin/bash
daydate=x`date +%j`
if [ -f $daydate.lockfile ];
then
echo "task already run"
else
rm *.lockfile; open -a safari http://www.example.com ;touch $daydate.lockfile
fi
用英语来说 - 它使用 date 命令并创建一个环境变量,其中当前日期以 x 为前缀。第一次运行时,它找不到它要查找的文件,尝试清除锁定文件(但失败,因为它不存在),打开 safari 并创建一个名为 x ddd
.lockfile 的文件。因此,除非您运行的时间恰好相隔一年,否则它应该可以正常工作。
在每次其他运行时,它都会检查是否存在包含当前日期的锁定文件。如果存在,它会回显“任务已运行”(我想您可以将其设置为不执行任何操作)。否则,它会清除以前的锁定文件,打开 Safari 并访问 example.com 并创建一个锁定文件。理论上,您可以拥有比日期数字更独特的标识符(日期和年份?),但这样就足够了。
然后,您需要在登录时运行此程序。我还没有测试过这一点,我怀疑还有其他更优雅的方法可以做到这一点。
这个 SO 答案提出了几种启动此 bash 文件的方法登录. 我能看到的“最简单”的方法是使用 automator - 借用 mklement0 的答案
- 文件 > 新建,输入 Application
- 添加一个运行 Shell 脚本操作,该操作会添加一个嵌入式 bash 脚本,然后将脚本代码粘贴到那里或者添加从那里调用现有脚本的命令。
- 保存 *.app 包并将其添加到系统偏好设置 > 用户和组 > 登录项中的登录项列表中。
在此处添加 bash 脚本,它会在您每次登录时进行检查并发挥其魔力。
答案3
对的,这是可能的 !
从码头上挑选野生动物园
如果 Safari 已在您的 Dock 中(作为永久固定程序或因为该应用程序正在使用),请右键单击(或按住 Control 并单击)图标。如果该应用程序未在使用中,您将看到一个包含三个项目的菜单。如果该应用程序正在使用中,步骤相同,但您会看到更多菜单选项。单击选项,然后选择登录时打开。
设置 Safari 启动时打开的 URL
打开 Safari,然后选择 Safari > 偏好设置并点击 通用。调整以下设置:
新窗口打开时:选择主页。主页:输入您希望 Safari 在打开时显示的页面的 URL。或者单击“设置为当前页面”以使用当前活动页面的 URL。