在Mac上运行at命令你要知道的

番茄钟可以让我们在有限的时间里保持高度专注,是微时间管理的重要手段。我这段时间注意力难以集中,很容易因为各种事情就跑神了,更是意识到了番茄钟的效力。参考Udacity上的Python语言学习课程,我用Python语言写了一个番茄钟,每到25分钟就打开一个我喜欢的YouTube的歌曲,提示我要停下来休息一下,反思一下,效果非常好。

读了作者程序员联盟的Linux下自制简易番茄钟 ,作者只需要一行命令就可以制作一个番茄钟。原来番茄钟还可以这么简单!我当即就兴冲冲地就在Mac上练了一把。学习命令,学习程序,没有捷径,只有动手,勤能补拙。那行linux命令是这样子的:

echo 'env DISPLAY=:0 feh -F ~/protect_eyes.jpg' | at now+1 minute

通过这个命令,这里我设置了一分钟后打开放在用户目录下的一个图片。复制粘贴放进MAC的Terminal,等待奇迹的时刻到了!一分钟,两分钟,什么都没有发生?连个错误也没有?!

人笨只能找帮手,这几天用百度用的也很顺手,就在百度上搜了一下,很快找到了答案。原来MAC上,用at延迟执行的命令,实际上都要被atrun调用;atrun又要被launchd调用。launchd的属性在com.apple.atrun.plist中指定。 默认情况下,这个属性列表中“禁用”键的值是真的,这意味着atrun从来没有被调用。

解决这个问题,需要用超级用户身份执行下面的命令(这个命令可能显示为两行,但是只有一行):

sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.atrun.plist

这个命令一执行,我的屏幕顿时被轰炸了,那些被抑制的图片都纷纷地跳了出来!

在Mac上运行at命令你要知道的_第1张图片
我是一棵小苗,为你的专注而生

这个例子虽然是打开一个图片,你也可以像我一样打开一首喜欢的音乐,再也不用听成品番茄钟里那些不喜欢的声音了。

如果你像我一样喜欢寻根溯源,可以用man atrun参考atrun的英文介绍,就可以看到上面我们用超级用户身份执行的命令:


在Mac上运行at命令你要知道的_第2张图片
atrun的英文介绍

你可能感兴趣的:(在Mac上运行at命令你要知道的)