在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

這個命令一執行,我的屏幕頓時被轟炸了,那些被抑制的圖片都紛紛地跳了出來!??

我是一棵小苗,為你的專注而生

這個例子雖然是打開一個圖片,你也可以像我一樣打開一首喜歡的音樂,再也不用聽成品番茄鐘里那些不喜歡的聲音了。

如果你像我一樣喜歡尋根溯源,可以用man atrun參考atrun的英文介紹,就可以看到上面我們用超級用戶身份執行的命令:


atrun的英文介紹
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容