mac 시작 항목 을 설정 하 는 세 가지 방식 요약
Mac OS X 에서 시작 항목 의 설정 을 실현 하 는 세 가지 방법 이 있 습 니 다.1)Login Items;2)StartupItems;3)launchd daemon。다음은 더 이상 할 말 이 없 으 니 상세 한 소 개 를 해 봅 시다.
1. Login Items
System Preferences 를 열 고 System->Accounts 를 선택 하고 Login Items 옵션 을 선택 하여/applications 디 렉 터 리 에 있 는.app 을 오른쪽 목록 에 직접 끌 어 옵 니 다.컴퓨터 를 다시 켜 면 목록 에 있 는 프로그램 이 켜 진 후에 자동 으로 시작 되 는 것 을 발견 할 수 있 습 니 다.
2. StartupItems
Startup Items 는 말 그대로 시스템 시작 과정 에서 실행 되 는 프로그램 입 니 다.실행 이 끝나 면 바로 종료 되 는 프로그램(예 를 들 어 시동 을 걸 어 휴지통 을 비 우 는 것)일 수도 있 고 시스템 운행 주기 에 지속 되 는 배경 프로 세 스 일 수도 있 습 니 다.
StartupItems 는 보통 다음 두 경로 에 저 장 됩 니 다.
1)/System/Library/StartupItems
2)/Library/StartupItems
대부분 시스템 과 관련 된 Startup Items 는/System/Library/Startup Items 라 는 경로 에서 실 행 됩 니 다.전자 경로 의 Startup Items 는 시스템 급 기초 서 비 스 를 제공 하기 때 문 입 니 다.예 를 들 어 crash reporting,core graphics services,system accounting 등 이 있 고 후자 경 로 는 기본 적 인 상황 에서 존재 하지 않 습 니 다.직접 만들어 야 합 니 다.
여 기 는/Library/Startup Items 디 렉 터 리 에 있 는 IcebergControl Tower 를 예 로 들 겠 습 니 다.
쉽게 말 하면 Mac OS X 에서 하나의 Startup Items 는 다음 과 같은 두 가지 내용 을 포함한다.
1)실행 가능 한 프로그램;
2)프로 세 스 관계 에 의존 하 는 plist 파일(StartupParameters.plist)을 포함 합 니 다.
2.1 The Property List
2.1.1 Plist 의 key 값 과 의미
Startup Parameters.plist 는 실행 가능 한 프로그램 을 실행 하 는 데 필요 한 조건 을 포함 하 는 속성 목록 입 니 다.
이 plist 는 루트 권한 을 받 아야 합 니 다.몇 가지 내용 을 포함 합 니 다.
1.Description;
이 서비스 에 대한 간단 한 설명 은 설명 일 뿐 실제 프로 세 스 이름 을 설명 하 는 것 이 아 닙 니 다.
2.Provides;
StartupItems 가 제공 하 는 서 비 스 를 지정 합 니 다.그림 plist 파일 Provides 에서 설명 한 바 와 같이 StartupItems 가 열 린 배경 프로 세 스 이름 은 Iceberg Control Tower 입 니 다.
Provides 는 여러 개의 서 비 스 를 지정 할 수 있 는데 그림 에 반 영 된 것 이 바로 Item 0,Item 1...등 이다.여기 아 이 템 0 밖 에 없어 요.
3.Uses;
StartupItems 가 불 러 오기 전에 열 어야 할 서 비 스 를 지정 하 였 습 니 다.Mac OS X 시스템 은 먼저 Uses 에서 지정 한 서 비 스 를 불 러 온 다음 StartupItems 를 불 러 옵 니 다.즉,Uses 에서 지정 한 서비스 가 불 러 오지 않 아 도 시스템 은 StartupItems 를 불 러 옵 니 다.
4.OrderPreference;
StartupItems 를 실행 할 시간 순 서 를 지정 합 니 다.이 순서의 중요 도 는 Uses 다음 에 있 으 며,Uses 를 실행 한 후의 순 서 를 지정 합 니 다.가능 한 수 치 는 First,Early,None(default),Late,Last 를 포함 합 니 다.
5.Messages。
2.1.2 StartupParameters.plist 파일 만 들 기
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Description</key>
<string>Iceberg Control Tower Initilaization</string>
<key>Provides</key>
<array>
<string>Iceberg Control Tower</string>
</array>
<key>Uses</key>
<array>
<string>Disks</string>
</array>
<key>OrderPreference</key>
<string>None</string>
</dict>
</plist>
2.2 The Executable File주의:
4.567917.실행 가능 한 파일 의 이름 은 폴 더 의 파일 이름과 같 습 니 다.이것 은 시스템 의 기본 규칙 입 니 다
일반적인 실행 가능 한 파일 에는 다음 과 같은 몇 가지 내용 이 포함 되 어 있 습 니 다.
1)./etc/rc.common
Apple 이 제공 하 는 스 크 립 트 라 이브 러 리 는 실행 가능 한 파일 에 인 자 를 도입 할 수 있 는 인 터 페 이 스 를 포함 하고 있 습 니 다.여기 load 라 이브 러 리 는 주로 RunService 를 호출 합 니 다.
2)StartService(), StopService(), RestartService()
실행 가능 한 파일 이 받 은 인자 가 start,stop 또는 restart 일 때 해당 하 는 함 수 를 실행 합 니 다.
매개 변수 의미:
start:켜 는 과정 에서 서 비 스 를 시작 합 니 다.
stop:전원 을 끄 는 과정 에서 서 비 스 를 중단 합 니 다.
restart:특정한 조건 에서 서 비 스 를 다시 시작 합 니 다.
3)RunService “$1”
이 스 크 립 트 에 전 달 된 첫 번 째 인자 가 지정 한 서 비 스 를 실행 합 니 다.
"$1"은 이 스 크 립 트 에 전 달 된 첫 번 째 인 자 를 표시 합 니 다.예 를 들 어 들 어 온 인자 가 start 이면 StartService()를 실행 합 니 다.
3. Launchd Daemon
launchd 는 Mac OS 에서 시스템 환경 을 초기 화 하 는 데 사용 되 는 관건 적 인 프로 세 스 입 니 다.커 널 로드 에 성공 한 후 OS 환경 에서 시작 하 는 첫 번 째 프로 세 스 입 니 다.
이 방식 으로 시작 항목 을 설정 하 는 것 은 간단 합 니 다.하나의 plist 파일 만 필요 합 니 다.보통(시스템 추천)plist 를~/Library/LaunchAgent 경로 에 두 는 것 입 니 다.
3.1 plist 파일 형식 및 필드 마다 의 의미:
1)Label【required】
이 서비스의 이름 입 니 다.
2)OnDemand【optional】
10.4 제 공 된 key 값 은 KeepAlive 의 기본 기능 과 비슷 하 며 10.5 및 그 후의 시스템 에서 KeepAlive 로 대 체 됩 니 다.KeepAlive 는 더 많은 기능 을 확 장 했 습 니 다.단일 한 boolean 을 key 값 으로 사용 하 는 것 외 에 사전 을 사용 하여 여러 key 값 을 결합 할 수 있 습 니 다.
3)Program[ProgramArgument 는 required 입 니 다.ProgramArgument 가 없 는 경우 Program 이라는 key 를 포함해 야 합 니 다]
실행 가능 한 파일 의 경 로 를 지정 합 니 다.
4)RunAtLoad【optional】
이 서 비 스 를 불 러 온 후 경로 가 지정 한 실행 가능 한 파일 을 즉시 시작 합 니 다.기본 값 은 false 입 니 다.
5)WorkingDirectory【optional】
이 키 는 실행 가능 한 파일 을 열기 전에 현재 작업 디 렉 터 리 의 경 로 를 지정 합 니 다.
6)KeepAlive【optional】
이 키 값 은 실행 가능 한 파일 이 지속 적 으로 실행 되 는 지,아니면 구체 적 인 조건 을 만족 시 킨 후에 시작 하 는 지 제어 하 는 데 사 용 됩 니 다.기본 값 은 false 입 니 다.즉,구체 적 인 조건 을 만족 시 킨 후에 시작 합 니 다.설정 값 이 ture 일 때 실행 가능 한 파일 을 무조건 열 고 전체 시스템 운행 주기 내 에 유지 하 는 것 을 표시 합 니 다.
3.2 plist 파일 만 들 기:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.yourcompany.HSPA_USB_MODEM</string>
<key>OnDemand</key>
<false/>
<key>Program</key>
<string>/Application/HSPA USB MODEM.app/Running</string>
<key>RunAtLoad</key>
<true/>
<key>WorkingDirectory</key>
<string>/Application/HSPA USB MODEM.app</string>
</dict>
</plist>
4.세 가지 방식 의 차이시스템 의 시작 과정 을 초보 적 으로 이해 한 후에 이 세 가지 설정 시작 항목 의 방식 을 보면 이 세 가지 방식 간 의 차 이 를 쉽게 이해 할 수 있다.
전반적 으로 LoginItems 와 StartupItems 의 차이 가 뚜렷 하 다.
StartupItems
LoginItems
Depedency Ordering
Need
Do not Need
Load Timing
during startup
after a user logs in
Launched by WHO
by root, but not necessarily
the user
Processes types
background processes and processes that terminate after running
any Mac OS X executable
사용자 정의 Launchd daemon 에 대해 서 는 보통~/Library/LaunchAgent 경로 에 놓 습 니 다.launchd 프로 세 스 는 사용자 login 이후 에 만 불 러 올 수 있 습 니 다.이 방식 은 LoginItems 와 가장 큰 차이 점 은 시작 하 는 프로 세 스 가 다르다 는 것 이다.LoginItems 는 loginwindow 를 통 해 시 작 됩 니 다.Launchd daemon 은 com.apple.launchd.peruser 를 통 해 시 작 됩 니 다.
총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
여러 모니터와 Mac의 화면 공유 🖥🖥 ▶️🖥🖥MacOS는 공식 원격 데스크톱 앱인 "화면 공유"를 제공하지만 '다중 모니터 대 다중 모니터' 원격 액세스를 지원하지 않습니다. 하나는 첫 번째 모니터에 해당하고 다른 하나는 두 번째 모니터에 해당하는 2개의 세션...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.