답변:
사용자가 로그인 할 때 무언가를 실행하려면 가장 쉬운 방법은 GUI를 사용하는 것입니다. 당신은 할 수 있습니다
System Prefs > Accounts > Login Items
화면으로 이동하여 다음 항목을 추가하십시오.
+
기호를 클릭.app
창으로 끌어서 놓기Options
다음Open at Login
이 아닌 다른 것을 시작 .app
하거나 실행을보다 세밀하게 제어하려면 다음과 같이하십시오.
다음은 사용하고자하는 기술 솔루션 입니다 launchd
.
launchd
구성 파일 을 설정하는 가장 쉬운 방법 은 도구를 사용하여 도움을받는 것입니다. 작성 당시 가장 인기있는 방법은 Lingon (SourceForge에서 구할 수있는 이전 무료 버전이 있음) 또는 PList Website 도구입니다.
당신이 Lingon 또는 PLIST 웹 사이트를 사용하려는 경우에만 시스템에서 사용할 수있는 원시 도구를 사용하지 않을 경우, 당신은 당신의 자신의 쓸 수 있습니다 launchd
plist
손으로
다음은 시스템 부팅 후 SomeApp을 계속 실행하기 위해 시작된 스크립트입니다 (사용자 로그인에 관계없이). / System / Library / LaunchAgents /에 있으며 SomeApp.restart.plist라고합니다. 사용자 로그인을 기반으로 실행되는 경우 ~ / Library / LaunchAgents /에 저장 될 수 있습니다.
<?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>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>SomeApp.restart</string>
<key>ProgramArguments</key>
<array>
<string>/path/to/SomeApp.app/Contents/MacOS/SomeApp</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>5</integer>
<key>Minute</key>
<integer>10</integer>
</dict>
</dict>
</plist>
로 한 번로드
launchctl load ~/Library/LaunchAgents/SomeApp.restart.plist
RunAtLoad
옵션은 처음 launchctl이를 실행하는 응용 프로그램을 실행합니다.KeepAlive
이 충돌하는 경우 옵션은 응용 프로그램을 다시 시작합니다.StartCalendarInterval
특정 시간에 실행됩니다. 아마도 이것은 이전 두 가지와 상호 배타적이지만, 수행 할 수있는 작업을 보여주기 위해 포함되었습니다.launchd
Lingon 실험 나에 대한 매뉴얼 페이지를 읽어 볼 수 있습니다 많은 추가 옵션이 있습니다 launchctl
, launchd.plist
, plist
, launchd.conf
, 등
launchctl load -w ...
변경 사항을 지속적으로 유지하는 데 사용할 수도 있습니다 . 귀하의 의견에 따라 OSX poweruser 구성자 스크립트를
Lingon은 여전히 작동합니다. 방금 지난주에 "예약 된 작업"을 만들었습니다. 다운로드 한 후 최신 버전을 얻으려면 자동 업데이터를 사용해야했지만 제대로 작동합니다.
시스템이 부팅 될 때만 실행해야하는 경우 시스템 환경 설정에서 계정 환경 설정 창의 로그인 항목 탭을 사용하십시오.
스크립트 인 경우 AppleScript 편집기를 사용하여 응용 프로그램으로 저장하십시오. AppleScript 스크립트가 아닌 경우에도 AppleScript를 사용하여 다음과 같이 스크립트를 실행할 수 있습니다.
do shell script "your script here"
Loginhooks를 잊지 마십시오.
루트로 실행되지만 다음과 같이 $ HOME / .loginhook 스크립트를 실행할 수 있어야합니다.
#!/bin/sh
home=`eval echo ~$user`
if [ -x "$home/.loginhook" ]; then
logger -t $0 "executing .loginhook of user $user"
su - $user -c "$home/.loginhook"
fi
그런 다음 ~ / .loginhook에 원하는 명령을 추가하십시오.
또한 '시작됨'이 "Mac 방식"이지만 crontab은 여전히 완벽하게 실행 가능한 옵션이며 XML 실행 파일보다 훨씬 쉽게 편집 할 수 있습니다.
개인적으로, 나는 Lingon에 대해 행복하게 $ 5를 지불했습니다 .
/path/to/script
하며 sudo defaults write com.apple.loginwindow LoginHook /path/to/script
? 그리고 홈 디렉토리에서 스크립트를 실행하는 요점은 각 사용자가 사용자 정의 (또는 아니오)를 가질 수 있다는 것입니다 ~/.loginhook
.
다른 포럼 덕분에 iCal에서 지정된 시간에 앱을 쉽게 실행할 수 있습니다.
알아 두어야 할 한 가지는 iCloud를 통해 여러 Mac을 공유하는 경우이 이벤트는 해당 앱에서 실행되며 원하지 않거나 원하지 않을 수도 있다는 것입니다. 단일 Mac에서만이 기능을 사용하려면 다음과 같이 수행 할 수있는 '내 Mac에서'일정으로 이벤트를 작성해야합니다.
나는 단지 이것을 스스로 발견했고 두 팁으로 즐겁게 놀랐으므로 여기에서 공유 할 것이라고 생각했습니다.
이 유용한 사람들로부터 정보를 얻었습니다. 여러분에게 감사합니다! ...
http://osxdaily.com/2013/04/15/launch-file-app-scheduled-date-mac-os-x/