2016-07-28 8 views
0

나는 이것을 작동 시키려고했지만 아무런 성공을 거두지 못했습니다. /Users/ivanmorelos/Documents/guiprueba.jar 나는 또한이 쉬 파일을 만든부팅 할 때 쉘 스크립트를 실행하십시오 (OS X)

:

#!/bin/bash 
java -jar guiprueba.jar 

이 쉬의 경로는 다음과 같습니다

내가이 jar 파일이/사용자/ivanmorelos를/문서/guiprueba.sh

내가 다음

bash /Users/ivanmorelos/Documents/guiprueba.sh 

같은 터미널에서이 스크립트를 실행하는 경우 병은 완벽하게 실행됩니다.

는 지금은/라이브러리/LaunchDaemons에 갔다/다음 com.ivan.gui.plist했다 :

나는 쉬 실행 파일을 만들어이 ivanmorelos에 속하는 *
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple$ 
<plist version="1.0"> 
<dict> 
    <key>Label</key> 
    <string>com.ivan.gui</string> 
    <key>ProgramArguments</key> 
    <array> 
     <string>/Users/ivanmorelos/Documents/guiprueba.sh</string> 
    </array> 
    <key>RunAtLoad</key> 
    <true/> 
    <key>KeepAlive</key> 
    <true/> 
    <key>UserName</key> 
    <string>root</string> 
</dict> 
</plist> 

, 그래서 jar 파일을 수행합니다.

* plist는 루트에 속합니다.

이것이 이해하면 알 수 있듯이 로그인 화면이 나타나기 전에 부팅 할 때 내 항아리가 실행되도록해야합니다. 나 맞아? 그러나 어떤 식으로도 아무 일도 일어나지 않으며 나는 그 오류가 어디 있는지 모른다. 저 좀 도와 주 시겠어요? 나는 정말로 감사 할 것입니다. 간단한 파일을 만들

touch texto.txt 

에 대한

java -jar guiprueba.jar 

하지만 여전히 그것을하지 않습니다

편집 본인은 스크립트에서 다음과 같이 변경했다.

+0

이 두 파일 (데몬 및 스크립트) 액세스 권한'루트가 있습니까? 그들은해야만한다. 스크립트는 기본 라이브러리에도 있어야합니다.'keepAlive' 키는 스크립트가 실행 루프를 사용하지 않는 한 실제로 필요하지 않습니다. – vadian

+0

안녕하세요 @vadian, 두 파일 모두 644 개의 권한이 있습니다. 기본 라이브러리 란 무엇입니까? 스크립트를/Library /로 옮겨야합니까? – IvnBam

+0

소유자가 루트이고 그룹이 휠인 것이 더 중요합니다. 그리고 예, 데몬이 로컬 도메인에서 실행되기 때문에'Application Support'의 하위 폴더에서 스크립트를/Library로 이동하십시오. – vadian

답변

0

결국이 문제에 대한 해결책을 찾았습니다.

root : wheel이 소유 한/Users/ivanmorelos/Documents /에 jar를 남겼습니다. LS의 -l이 보여줍니다 그런 다음/시스템/라이브러리/LaunchDaemons/다음과 같은 권한 내 PLIST를 이동

-rw-r--r-- 1 root wheel 2365 Jul 29 11:27 guiprueba.jar 

:
-rw-r--r-- 1 root wheel 372 Jul 29 12:49 com.ivan.plist 

또한 내 스크립트를 이동은/usr/sbin에 /를로에 다음과 같은 권한이 :
-rwxr-xr-x 1 root wheel 129 Jul 29 13:07 /usr/sbin/guiprueba 

과 LS -l 쇼 등

은 내가 .sh로

을 제거 그리고 그것 뿐이다. 이제 부팅시에 스크립트와 jar 파일이 실행됩니다.

이 최종 PLIST입니다 : 휠 644` :

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs$ 
<plist version="1.0"> 
<dict> 
     <key>Label</key> 
     <string>com.ivan</string> 
     <key>ProgramArguments</key> 
     <array> 
       <string>/usr/sbin/guiprueba</string> 
     </array> 
     <key>RunAtLoad</key> 
     <true/> 
</dict> 
</plist>