시작 / 로그인에서 터미널 명령 실행


1

시작 또는 로그인시 터미널 명령을 어떻게 실행합니까? FreeBSD에서는 rc.d를 사용하여이 작업을 수행 할 수 있다고 생각합니다 . Mac과 동등한 기능이 있습니까? 로그인 항목을 설정하는 방법을 알고 있지만 GUI 응용 프로그램에서만 작동하며 GUI 실행 파일로 래핑하지 않고 터미널 명령을 실행하는 우아한 방법이 있어야합니까? 아래에서 알 수 있듯이 때로는이 명령을 sudo해야합니다.



터미널 명령에만 적용되므로 sudo 방법 등을 다루는
복제본은 아닙니다

이 질문은 "시작 또는 로그인시 터미널 명령을 어떻게 실행할 수 있습니까?"입니다.
Mark

답변:


4

OSX는 launchd 를 사용 하여 부팅 또는 로그인시 Unix 스크립트 및 실행 파일을 시작합니다.

새로운 작업이 launchctl 을 통해 추가 되어 plist 를 업데이트합니다

더 쉬운 방법은 Mac App Store 또는 LaunchControl 에서 제공 되는 앱 Lingon 을 사용하는 것입니다.


Lingon을 확실히 살펴볼 것입니다!
gentmatt

고맙습니다, launchctl을 통해 'sudo'를 시작하는 명령을 추가하는 방법은 무엇입니까?
tog22

plist의 @ tog22는 UserName 키를보고 명령을 실행해야하는 사용자를 표시합니다.
Mark

시작된 서비스를에 저장하여 루트로 실행할 수 있습니다 /Library/.
Lri

2

Apple Script를 사용하십시오 .

스크립트는 다음과 같습니다.

do shell script "cd ~/Documents"

이 스크립트를 사용하는 애플리케이션을 작성하십시오. 이 응용 프로그램은 로그인 항목에 추가 할 수 있습니다. 나는이 작업을 수행하는 방법을 자세히 설명했습니다 여기에 .

Apple Script에서 관리자로 명령 실행

런타임시 비밀번호 프롬프트 :

do shell script "rm -rf ~/Documents/Gorleben" with administrator privileges

스크립트 내에 저장된 비밀번호 :

do shell script "rm -rf ~/Documents/Gorleben" with administrator privileges password "123456"


고맙지 만 명령을 '스 도우'해야합니다. 명령 후에 비밀번호를 입력해야하기 때문에 AppleScript로 그렇게 할 수있는 방법이 없을 것입니다.
tog22

1
이것은 with administrator privileges password "123456"명령 끝에 추가하여 수행 할 수 있습니다 . 스크립트에 비밀번호를 저장하지 않으려면을 쓰십시오 with administrator privileges. 그런 다음 런타임에 암호를 입력하라는 메시지가 표시됩니다. 답변을 편집하겠습니다.
gentmatt
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.