Mac OS X에서 루트로 GUI 앱을 실행하는 방법
명령줄에 익숙한 사람들은 슈퍼 사용자 권한으로 실행하는 것이 일반적으로 sudo 명령을 사용하는 문제라는 것을 알고 있습니다. 이는 루트 권한으로 OS X에 GUI 앱을 실행하는 경우에도 여전히 유효하지만, 'open'은 sudo를 사용하거나 사용하지 않고 앱을 원래 사용자로 실행하기 때문에 유용한 open 명령 앞에 sudo를 추가하는 문제가 아닙니다. 대신 솔루션은 지정된 응용 프로그램 패키지 파일에 포함된 실행 파일을 직접 가리키는 sudo를 사용하는 것입니다.
루트 사용자로 OS X GUI 앱 실행하기
명령 구문은 다음과 같습니다.
sudo /Path/To/Application/ApplicationName.app/Path/To/Executable
대부분의 경우 응용 프로그램은 /Applications/ 디렉토리에 저장되며 실행 파일은 거의 항상 응용 프로그램 이름이 무엇이든 Package/Contents/MacOS/에 저장됩니다.
sudo /Applications/ApplicationName.app/Contents/MacOS/ApplicationName
예를 들어, 다음 명령은 친숙한 TextEdit 앱을 루트로 실행합니다.
sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit
TextEdit를 백그라운드 앱으로 시작하려면 터미널 창을 닫아도 닫히지 않음을 의미하며 sudo에 -b 플래그를 적용합니다. sudo -b /Applications/TextEdit .app/Contents/MacOS/TextEdit
grep과 함께 ps 명령을 사용하고 다시 TextEdit를 예로 사용하여 응용 프로그램이 루트로 실행되고 있는지 확인할 수 있습니다.
ps au|grep TextEdit
또는 상단의 스크린샷과 아래의 짧은 비디오에서 볼 수 있듯이 OS X 프로세스 관리 앱 Activity Monitor를 보고 '루트' 사용자로 실행 중인 애플리케이션을 찾을 수 있습니다.
특정 앱을 루트로 자주 실행하려는 경우 명령 문자열을 줄이기 위해 .bash_profile에 별칭을 배치하는 것을 고려할 수 있습니다.
루트로 실행하더라도 모든 시스템 파일을 수정할 수 있는 것은 아니며 일부는 TextEdit과 같은 일부 앱에서 열 때 "잠김"으로 표시될 수 있습니다. 이 문제는 아직 루트 사용자를 활성화하지 않은 경우 루트 사용자를 활성화하여 해결할 수 있지만 모든 앱에 이러한 제한이 있는 것은 아닙니다.그럼에도 불구하고 호스트 파일 편집과 같은 특정 작업의 경우 명령줄과 텍스트 기반 편집기를 사용하거나 BBEdit 또는 TextWrangler와 같은 앱을 사용하는 것이 더 좋습니다.