2012-09-28 1 views
1

다른 응용 프로그램에 서비스 메뉴를 제공하는 OSX 응용 프로그램이 있습니다. 지금까지 문제가 없었지만 사용자가 앱을 설치하고 로그 아웃했다가 다시 로그인하면 메뉴가 활성화되어 사용할 수 있습니다. (see similiar post)Mac OS X : 서비스 메뉴 새로 고침은 설치 후 스크립트에서 작동하지 않습니다.

서비스를 트리거 할 때 로그 아웃 및 백업 기능은 더 이상 사용되지 않습니다. 메뉴 에이전트 (PBS)는 터미널을 열고 /시스템을 실행하여 변경 서비스에 대한 스캔/라이브러리/CoreServices에/PBS

그래서 더 낫다고 제공하고자 (이 또한 한 번도 발사 새 응용 프로그램없이 작동) 설치 후 스크립트로 "pbs"를 실행하는 설치 프로그램 (.pkg). 현저하게, 사후 설치로 "bps"를 실행하는 것은 예를 들어 애플리케이션이 시작된 경우에만 작동합니다. : #!/bin/sh

sleep 3 
open /Applications/MyApp.app 
sleep 3 
/System/Library/CoreServices/pbs 
exit 0 

불행히도 (응용 프로그램의 특별한 이유로) 설치 프로그램에서 직접 응용 프로그램을 시작하고 싶지 않습니다. 누구나 왜 설치 후 스크립트가 터미널과 다른 동작을하는지 알 수 있습니까?

답변

0

결국하는 workarround, 나는 숨겨진 내 응용 프로그램을 시작하기 위하여려고하고 pbs을 실행하기 전에 다시 중지. 더 나은 솔루션을 찾고 있습니다.

0

설치 프로그램이 필요로하는 권한에 따라 설치 후 스크립트가 루트 사용자로 실행될 수 있습니다. 시도 :

sleep 3 
su -l "${USER}" -c "open /Applications/MyApp.app" 
sleep 3 
su -l "${USER}" -c "/System/Library/CoreServices/pbs" 
exit 0 
+0

답장을 보내 주셔서 감사합니다. 불행하게도, 설치 후 스크립트에서'pbs'를 사용자로 실행하는 것은 이전에 응용 프로그램이 시작되지 않은 한 여전히 작동하지 않습니다. – seb