명령 행에서 Mac OS X을 로그 아웃하고 싶습니다. 내 OS X 버전은 10.9입니다. command 명령을 시도 pkill -KILL -u uid
했지만이 명령이 작동하지 않았습니다. AppleScript가 아닌 명령 줄 만 사용하여 시스템에서 사용자를 로그 아웃하는 데 사용할 수있는 명령이 있습니까?
명령 행에서 Mac OS X을 로그 아웃하고 싶습니다. 내 OS X 버전은 10.9입니다. command 명령을 시도 pkill -KILL -u uid
했지만이 명령이 작동하지 않았습니다. AppleScript가 아닌 명령 줄 만 사용하여 시스템에서 사용자를 로그 아웃하는 데 사용할 수있는 명령이 있습니까?
답변:
sudo launchctl bootout gui/$(id -u <username>)
또는
sudo launchctl bootout user/$(id -u <username>)
username을 대상 사용자의 사용자 이름으로 바꾸거나 전체 서브 쉘을 사용자의 uid로 바꾸십시오. 이것은 launchctl에게 사용자 로그인 세션을 해제하도록 지시합니다 (gui는 특히 사용자의 임시 로그인 세션을 나타내며, 사용자는 사용자 백그라운드 프로세스를 지정합니다).
sudo
이것을 테스트 하지 않고 스스로 로그 아웃 할 수 있습니다 .
이것은 macOS 10.11.x 이상에서만 작동합니다 (자세한 내용 참조 launchctl help
).
이것은 과거에 저에게 효과적이었습니다.
로그 아웃 (확인)
osascript -e 'tell app "System Events" to log out'
직접 로그 아웃 (확인 없음)
osascript -e 'tell app "System Events" to «event aevtrlgo»'
또는
osascript -e 'tell application "loginwindow" to «event aevtrlgo»'
이렇게하면 실행중인 모든 응용 프로그램이 눈에 띄고 안전한 방식으로 종료 될 수 있습니다.
여러 사용자가있는 경우 ....
다음을 사용하여 프로세스 ID를 찾으십시오.
ps aux|grep login
그런 다음 해당 프로세스를 종료하고 해당 세션을 로그 아웃하십시오. 그러나 많은 절차가 남아 있습니다.
pstree
종료 할 프로세스를 확인하십시오 .
터미널에 추가 할 수있는 유용한 유틸리티는 다음과 같이 사용되는 "logout"명령입니다.
logout UserName
방법은 다음과 같습니다.
.bash_profile 편집
nano ~/.bash_profile
이 줄을 추가하십시오 :
logout() {sudo launchctl bootout user/$(id -u "$1")}
파일을 눌러 저장 ctrl+x
터미널을 다시 시작
당신은 갈 준비가되어 있습니다;)