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


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.