요구사항:
- 특정 웹사이트
- 밤새 노트북을 닫았음에도 불구하고 매일 아침(launchctl이 이를 처리할 수 있음)
- 전경 - 공간/데스크톱이 여러 개 있는 경우에도 주의를 기울여야 합니다.
- 새로운 크롬 인스턴스(필수는 아니지만 바람직함)
open http://superuser.com
Chrome이 아직 열려 있지 않은 데스크톱/공간에서 시도하면 3. 및 4.의 경우 실패하는 것을 볼 수 있습니다. 무슨 일이 발생하면 다음의 기존 Chrome 인스턴스 내에서 탭이 열립니다.또 다른공간/데스크톱이 백그라운드에서 조용히 보입니다.
답변1
내가 생각 해낸 것은 다음과 같습니다. 생각보다 간단했어요.
쉘 스크립트 daily_goals.sh를 작성하십시오.
#!/bin/bash
# this is needed to launch Chrome as a new window. Since it's a new window, it will open in the foreground in current space/desktop.
open -n -a Google\ Chrome
# this sleeps for 1 second. It's necessary because otherwise the website, called below, will open in existing Chrome window, which may be located in another desktop. I think sleeping lets the next `open` call find the newly opened Chrome window, and replace the new tab with the provided website.
sleep 1
# the website I provided.
open http://joesgoals.com
만들다 /Library/LaunchDaemons/daily_goals.plist
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>daily_goals</string>
<key>ProgramArguments</key>
<array>
<string>/Users/user/Work/daily_goals.sh</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>07</integer>
<key>Minute</key>
<integer>00</integer>
</dict>
</dict>
</plist>
launchctl에 추가:
launchctl load -w /Library/LaunchDaemons/daily_goals.plist
요약하면 새로 열린 Chrome 인스턴스에서 매일 아침 7시에 joesgoals.com이 시작됩니다. 노트북이 오전 7시에 절전 모드인 경우 노트북이 절전 모드에서 다시 시작되면 JoesGoals가 열려야 합니다. 다른 데스크톱/공간(Chrome 유무에 관계없이)에서 osx를 다시 시작하는 이상한 현상이 나타나면 나중에 업데이트하겠습니다. 문제가 되지 않기를 바랍니다.