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