macOS 앱 아이콘 자동으로 바꾸기

fileicon을 이용해서 어플리케이션의 아이콘을 자동으로 바뀐 아이콘으로 유지하도록 하는 방법을 적어보았습니다. fileicon을 설치하는 단계데몬을 작성하여 지속적으로 아이콘을 바꿔주는 단계로 나뉩니다.

Fileicon 설치1

1. Terminal.app을 열고 아래의 코드를 복사·붙여넣기 하여 fileicon을 내려받습니다.

curl https://raw.githubusercontent.com/mklement0/fileicon/stable/bin/fileicon -o /usr/local/bin/fileicon

2. 터미널을 열고 아래의 코드를 복사·붙여넣기하여 fileicon 실행파일의 권한을 설정합니다. x는 소문자입니다

sudo chmod +x /usr/local/bin/fileicon

교체할 아이콘 준비

교체할 아이콘을 준비해야 합니다. 두 가지를 주의하시면 됩니다.

데몬 작성 단계

여기까지 따라왔으면 fileicon을 이용해서 커맨드 라인으로 커스텀 아이콘을 적용할 수 있으나 어플리케이션이 업데이트 될 경우 아이콘이 원상복귀되게 됩니다. 따라서 어플리케이션이 업데이트, 즉 내부 파일이 변경될 경우에 fileicon을 다시 실행하도록 데몬을 작성하고 활성화합니다.

1. 터미널에 cd /Library/LaunchDaemons를 입력해서 데몬이 위치한 디렉터리로 이동합니다.

2. 터미널에 아래 명령어를 입력해서 데몬 파일을 생성합니다. 앱에 따라서 파일 이름을 바꾸어 줄 수 있습니다. 뒤에 .plist 붙이는 것만 기억하세요.

touch me.fileicon.KakaoTalk.plist

3. open .을 입력하여 Finder 창을 열고 에디터로 파일을 열어서2 아래 내용을 복사해 붙여넣습니다.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>

	<key>KeepAlive</key>
	<true/>
	<key>Label</key>
	<string>me.fileicon.KakaoTalk</string>
	<key>ProgramArguments</key>
	<array>
		<string>/usr/local/bin/fileicon</string>
		<string>set</string>
		<string>/Applications/KakaoTalk.app</string>
		<string>/Users/(홈폴더)/Icns/KakaoTalk.icns</string>
	</array>
	<key>RunAtLoad</key>
	<true/>
	<key>WatchPaths</key>
	<array>
		<string>/Applications/KakaoTalk.app</string>
	</array>
</dict>
</plist>

변경해야 하는 부분이 적게는 한 군데, 많게는 다섯 군데입니다.

4. 변경이 끝났으면 저장합니다. 비밀번호를 물어보면 계정 비밀번호를 입력합니다.

데몬 활성화

데몬을 작성했으니 데몬이 돌아가게 해야 합니다.

1. Terminal.app을 열고 아래 명령어를 입력해 디렉터리로 이동합니다.

cd /Library/LaunchDaemons

2. 아래 명령어를 입력해서 데몬을 등록합니다. 물론 .plist가 포함된 파일명을 입력해야 합니다, 만약 바꿨다면 말이죠. 대소문자 유의

launchctl load me.fileicon.KakaoTalk.plist


유의점

아이콘 설정: fileicon set <바꿀 파일이나 폴더> <이미지파일>
아이콘 제거: fileicon rm <아이콘 원상복원할 파일이나 폴더>
아이콘 추출: fileicon get [-f] <추출할 파일이나 폴더> <추출되는 파일명>
	-f 플래그는 기존에 존재하는 파일을 덮어쓰기할 때 사용합니다.
	추출되는 파일의 형식은 기존 파일과 관계없이 .icns의 형식으로 추출됩니다.
커스텀 아이콘 여부 확인: fileicon test <확인할 파일이나 폴더>

* 일단 이 튜토리얼에서는 fileicon 실행파일을 /usr/local/bin에 위치시켰기 때문에 별다른 설정없이도 작동할 것으로 예상합니다만 만일 다른 위치에 저장하셨다면 Terminal.app에서 echo $PATH를 실행하여 PATH에 실행파일이 들어갔는지 확인하셔야 합니다.


via mklement0/fileicon: OSX CLI for managing custom icons for files and folders


  1. npm으로 설치할 수도 있습니다. 참조 

  2. 개인적으로 Sublime Text 3에 Material Theme을 적용해서 사용하고 있습니다.