macOS의 약간 특수한 팁 모음

2022년 10월 27일 수정

이 글은 약간은 특수한 macOS 설정 및 팁들을 정리한다. 아마도 대부분 터미널에서 CLI 커맨드로 진행한다는 점에 주의하자.

셸에서 iCloud Drive 접근하기

iCloud Drive의 위치는 좀 찾기 어렵게 아래 위치에 있다.

~/Library/Mobile\ Documents/com~apple~CloudDocs/

따라서 셸에서 빠르게 접근하고 싶다면 홈 디렉터리에 링크를 걸어두자.

ln -s ~/Library/Mobile\ Documents/com~apple~CloudDocs/ ~/iCloud

이렇게 하면 ~/iCloud 디렉터리를 Dropbox와 비슷하게 쓸 수 있다.

다음으로 열기(Open with) 메뉴 초기화하기

파인더에서 특정 파일을 오른쪽 클릭해서 나타나는 팝업 메뉴에서 '다음으로 열기' 혹은 'Open with' 항목이 비정상적으로 불어나는 등 이상 동작하는 경우가 있다. 이럴 때는 아래 커맨드로 이 목록을 초기화 할 수 있다.

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister \
-kill -r -domain local -domain user && \
killall Finder

macOS Catalina에서도 잘 동작하는 것으로 확인되었다.

스크린샷 캡처 시 미리보기 없애기

어느 순간부터 스크린샷을 캡처 하면 우측 하단에 작은 창으로 캡쳐된 이미지 미리보기가 잠깐 나타났다가 사라진다. 그런데 스크린샷 파일은 이 작은 이미지 미리보기 창이 사라지기 전까지 나타나지 않는다. 그래서 파일을 바로 사용해야 하는 경우에는 이 미리보기 창이 참 거슬릴 때가 있다.

이 작은 미리보기를 안 나타나게 하는 방법이 있다.

Screenshot.app 을 실행시키거나 Command+Shift+5 키를 눌러보자. 그러면 하단에 캡처 창이 나타나는데, 이 창의 우측에 있는 Options를 눌러보자. 여기서 Show Floating Thumbnail 항목에 체크를 해제하면 이제 미리보기가 나타나지 않는다. 당연하게도 캡처한 파일도 바로 나타난다.

../attach/scrennshot-app-options.jpg

귀찮아서 한국어로는 확인해보지 않았는데 위치는 동일할 테니 어렵지 않게 할 수 있을 것 같다.

메뉴에서 보면 알 수 있겠지만, 이 외에도 저장위치를 바꾸거나 혹은 파일이 아닌 클립보드에 저장하는 등 다양한 옵션이 있다.

스크린샷 캡처 저장 위치 변경

스크린샷을 캡처하면 기본적으로 데스크톱(Desktop) 폴더에 이미지가 저장되는데 이 위치를 다른 디렉터리로 바꿀 수 있다. 간단하게는 바로 위에서 이야기한 Screenshot.app 앱의 옵션을 이용하면 되기도 하지만, 이 목록에 없는 디렉터리는 아래와 같이 셸 CLI 커맨드로 직접 바꿔야한다.

defaults write com.apple.screencapture PATH

PATH에는 원하는 디렉터리를 넣으면 된다. 입력하기 귀찮으면 파인더에서 드래그하는 방법으로 대리(?) 입력하는 방법이 있기도 하니 참고하자.

실행 중인 대부분의 앱 종료 혹은 재시작 하기

간혹 메모리 누출(leak) 이슈 등으로 macOS 를 재시작 하기는 귀찮은데 앱은 대부분 종료 시켜버리고 싶을 때가 있다. 이럴 때는 아래 CLI 커맨드를 이용할 수 있다.

launchctl reboot apps

이 명령어는 현재 사용자 환경에서 구동 중인 모든 앱을 종료 시킨다.

비슷하게 아래 커맨드를 사용할 수도 있다.

launchctl reboot userspace

이 명령어는 시스템에서 재시작 할 수 있는 모든 앱을 재시작 시킨다.

물론 완벽한 대처법은 될 수 없으며 macOS를 리붓시키는 것이 가장 좋은 방법임에는 변함이 없다.

이모티콘(Emoji) 쉽게 입력하기

단축키 Control+Command+Space 키를 누르면 미니 이모티콘 브라우저가 뜬다. 이걸 이용해 쉽게 키보드만으로 이모티콘을 입력할 수 있다.

특정 파일을 엑세스 중인 프로세스 검색하기

예를 들어 특정 파일을 지우고 싶은데 어떤 프로세스가 파일을 열고 있어서 못 지우는 경우라면 해당 프로세스를 종료시키기 위해 검색을 해볼 수 있다. 대충 아래와 같은 형식의 커맨드다.

sudo lsof | grep "FILE NAME"

lsof 로 파일을 열고 있는 프로세스 목록을 볼 수 있고 이를 grep 으로 필터링 할 수 있다.

DNS 캐시 비우기

모종(?)의 이유로 엉뚱한 사이트가 나타나는 등 DNS 캐시를 비워야 할 일이 있을 때는 아래와 같은 터미널 커맨드를 이용해 볼 수 있다.

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

sudo 를 이용하기 때문에 사용자의 패스워드를 물어온다. 별도의 외부 유틸리티도 필요 없고 딱히 부작용은 없을 것 같다.