OS X 런치패드(Launchpad)를 백지상태로 만들고 사용자가 원하는 앱으로만 채워보자

2012. 12. 25. 16:10    작성자: ONE™


들어가며

운영체제에 설치된 프로그램 숫자가 증가할 수록 프로그램을 검색하고 실행하는 시간도 동시에 늘어납니다.

이에 특정 프로그램을 시스템에서 신속하게 찾아주고 실행해주는 프로그램, 소위 런처(Launcher)라고 불리는 프로그램들이 맥용으로 다수 개발되었고 폭넓은 사용자층을 확보하고 있습니다. 특히 프로그램을 실행하는 기능을 넘어 다양한 부가기능을 추가한 알프레드(Alfred)나 퀵 실버(Quick Silver)같은 키보드 기반 런처 프로그램들이 많은 사랑을 받고 있습니다.

애플도 OS X 라이언부터는 아이폰의 홈 스크린(혹은 스프링보드)을 그대로 가지고 온듯한 런치패드(Launchpad)를 마련했지만 터치 기반의 iOS에 비해 조작이 불편하고 키보드 기반의 런처보다 반응이 느려 많은 인기를 끌지 못하고 있는 것이 사실입니다. 하지만 아이폰이나 아이패드를 먼저 구입한 후 맥에 뒤늦게 입문하신 분들은 기존과 일관성있는 사용자 인터페이스를 제공해주는 런치패드 덕분에 비교적 빨리 맥에 익숙해 질 수 있다는 메리트도 분명히 존재합니다.

OS X의 기본 기능들이 대부분 그렇듯 런치패드도 사용 방법이 직관적이고 쉬운 편에 속합니다. 트랙패드 제스쳐나 단축키로 런치패드를 불러내고 원하는 프로그램을 선택하면 그걸로 끝입니다. 하지만 OS X의 기본 기능들이 '역시' 그렇듯 사용자 입맛에 맛게 수정할 수 있는 부분도 상당히 제한적인 것이 사실입니다. 아니 사실상 이런 부분이 거의 전무하다 할 수 있습니다. 이에 터미널 명령어와 SQLite 명령어를 사용해 런치패드를 좀 더 사용자 입맛에 맞게 수정할 수 있는 방법들을 소개해 드립니다.

이 글을 다음 순서로 되어 있습니다. 

1. 런치패드 데이터 백업하기
2. 런치패드를 초기화하고 사용자가 원하는 프로그램만 추가하기
3. 특정 프로그램만 런치패드에서 제거하기
4. 런치패드 한 페이지에 더욱 많은 프로그램 표시하기
5. 기존 런치패드 데이터 복구하기

1. 런치패드 데이터 백업하기

런치패드의 이모저모를 사용자 입맛에 맞게 수정하기 전에 기존 런치패드 데이터를 백업해 놓습니다. 혹시 문제가 발생했을 때 백업 파일을 복구해 런치패드를 기본 상태로 되돌릴 수 있습니다.

1. 파인더(Finder)에서 Command + Shift + G 단축키를 누른 후 아래 주소를 입력해 주십시오.

~/Library/Application Support/Dock/

2. 숫자와 알파벳으로 조합된 이름을 가진 .db 파일이 나타납니다. 런치패드에 나타나는 프로그램과 프로그램의 순서, 페이지 정보가 SQLite 형식으로 이 db 파일에 모두 저장되어 있습니다.
3. 적당한 위치에 백업 폴더를 만들고 'option 키를 누른 채'로 db 파일을 끌어 놓아줍니다. 

*터미널 사용에 익숙하신 분들은 다음 명령어로 한 번에 db 파일을 백업할 수 있습니다. 사용자 홈 폴더의 Backup이라는 폴더가 생성되며 db 파일이 저장됩니다. 

mkdir ~/Backup;cp ~/Library/Application\ Support/Dock/*.db ~/Backup/

2. 런치패드를 초기화(리셋)하고 사용자가 원하는 프로그램만 추가하기

런치패드를 백지 상태로 만들고 사용자가 원하는 프로그램만 추가하는 방법입니다. 

0. 일단 작업에 들어가기 전의 런치패드 화면은 이렇습니다.

1. 응용 프로그램 > 유틸리티 폴더에서 터미널(Terminal) 앱을 실행합니다.

2. 터미널에 다음 명령어를 입력하면 런치패드 설정 파일(db)에 저장되어 있던 정보가 모두 지워지면서 런치패드에 아무런 프로그램도 표시되지 않습니다. (명령어는 한 줄 입니다.)

sqlite3 ~/Library/Application\ Support/Dock/*.db "DELETE from apps; DELETE from groups WHERE title<>''; DELETE from items WHERE rowid>2;";killall Dock

2. 런치패드를 실행하면 속이 텅텅 비어있는 것을 확인할 수 있습니다.

3. 이후 응용 프로그램 폴더에서 원하는 프로그램을 닥(Dock)에 있는 런치패드 아이콘에 끌어 넣어줍니다.

4. 런치패드를 실행하면 이렇게 추가한 프로그램이 나타납니다.

5. 이제 원하는 프로그램들로만 런치패드를 채워보세요.

* 다음 예제를 위해 일단 8개를 채워넣었습니다.

3. 특정 프로그램만 런치패드에서 제거하기

OS X의 응용 프로그램 폴더에 프로그램 실행 파일을 넣어주면 런치패드에서 이를 자동으로 감지하고 런치패드에 표시해 줍니다. 이때 불필요한 프로그램을 런치패드에 표시하지 않을 수 있는 기능이 OS X 자체적으로 마련되어 있지 않습니다. 하지만 앱을 삭제하는 강수를 두지 않더라도 다음 터미널 명령어를 입력해 런치패드에 해당 프로그램의 아이콘이 나타나지 않게 할 수 있습니다.

sqlite3 ~/Library/Application\ Support/Dock/*.db "DELETE from apps WHERE title='프로그램명';";killall Dock

예를 들어 런치패드에서 Twitter 라는 프로그램을 제거하고 싶은 경우 다음처럼 명령어를 입력해주시면 됩니다. 다시 말씀드리지만 앱을 시스템에서 완전히 삭제하는 것이 아닙니다. 그냥 런치패드에서 표시만 안 되도록 하는 것입니다.

sqlite3 ~/Library/Application\ Support/Dock/*.db "DELETE from apps WHERE title='Twitter';";killall Dock

* 명령어를 입력하실 때 대문자와 띄어쓰기를 유념해 주십시오.

트위터 앱이 런치패드에서 사라졌습니다.

4. 런치패드 한 페이지에 더욱 많은 프로그램 표시하기

OS X 버전에 따라 런치패드 화면에 한 번에 표시되는 아이콘 개수에 차이가 있어 왔는데, 최신 버전의 OS X부터는 세로 5줄 x 가로 7줄 해서 총 35개의 아이콘이 런치패드 화면에 기본적으로 표시됩니다.

이때 사용자는 런치패드에 표시되는 아이콘 크기를 조절하거나 한 화면에 표시될 최대 프로그램 수를 지정할 수 있는 방법이 없는데, 화면 크기와 해상도가 고정되어 있는 아이폰이나 아이패드에서는 최상의 사용자 경험을 위해 어쩔 수 없는 부분이라고 치부해도 기기마다 모니터 크기와 해상도가 제각각인 맥에서까지 이런 부분을 강제하는 것은 다소 불편한 점이 아닌가 생각합니다. 

하지만 런치패드의 아이콘 개수를 변경하는 방법이 그래픽(GUI)으로 구현이 되어 있지 않을 뿐, 터미널 명령어를 사용해 비교적 간단하게 런치패드 화면에 표시될 아이콘 수를 변경할 수 있습니다. 

1. 터미널에 다음 명령어를 차례대로 입력해 줍니다.

defaults write com.apple.dock springboard-columns -int (가로줄)숫자
defaults write com.apple.dock springboard-rows -int (세로줄)숫자
killall Dock

예를 들어, 런치패드 화면에 아이콘을 가로 10줄, 세로 9줄로 정렬하고 싶은 경우 아래처럼 명령어를 입력해주시면 됩니다. 

2. 다시 런치패드를 실행하면 프로그램들 아이콘의 크기가 확 작아진 것을 확인할 수 있습니다.  

3. 이후 런치패드의 빈 공간을 다른 런치패드 페이지에서 가져온 아이콘들로 채워주면 가로 10줄 x 세로 9줄 해서 총 90여개의 프로그램을 런치패드 한 화면에 띄울 수 있습니다.  

➥ 보다 자세한 설명: 런치패드 한 페이지에 보다 많은 프로그램을 표시하는 방법

5. 기존 런치패드 데이터 복구하기

이런 저런 실험을 해보시다가 런치패드를 다시 복구해야 하는 경우 두 가지 방법 중에 하나를 선택하실 수 있습니다. 첫째로 앞서 백업해둔 사용자의 런치패드 db 파일을 제자리로 돌려두는 방법이 있고, 둘째로 OS X 초기 상태로 돌리는 방법이 있습니다. OS X 초기 상태라고 해서 OS X 기본 앱만 런치패드 화면에 나타나는 것은 아니며 시스템에 설치된 프로그램들의 아이콘이 랜덤으로 마구 섞인채로 복구됩니다.

1. 기존 사용자의 데이터로 복구하기

조립은 분해의 역순이라고 했습니다. 앞서 '런치패드 데이터 백업하기' 항목과 동일한 방법으로 런치패드의 db 파일이 저장되어 있는 폴더로 이동한 후 안에 있는 db 파일을 삭제합니다. 

앞서 저장해 두었던 db 원본을 해당 폴더에 다시 원상복구 시켜줍니다.

시스템을 재부팅하거나 계정에서 로그아웃한 뒤 다시 로그인 해주면 이전 상태가 복구됩니다.

2. OS X 초기 상태로 복구하기

현재 상태가 마음에 안 든다! 그렇다고 기존에 쓰던 상태로 돌리기도 싫다! OS X 초기 상태로 돌리고 싶다! 하시는 분들은 다음 터미널 명령어를 사용해주시면 됩니다.

defaults write com.apple.dock ResetLaunchPad -bool TRUE;killall Dock

마치며

어떠신가요? 터미널 명령어에 더해 SQLite 명령어까지 더해져 초보자분들이 따라하시기에 제법 버거운 팁이 아니었을까 싶은데 그래도 산뜻하게 정리되어 있는 런치패드 화면은 이런 수고에 대한 보상을 해주기에 충분하지 않나 생각합니다. 

닥(Dock)에 올려두기엔 사용빈도가 떨어지거나 영문 이름이 잘 안 떠오르는 앱들로 런치패드를 꾸며보세요. 훨씬 자주 런치패드를 사용하게 되실거라 믿어 의심치 않습니다 :-)



참조
•[1], [2], [3]

이전 런치패드(Launchpad) 관련팁
• 런치패드에 파인더(Finder) 추가하기
• 런치패드 한 페이지에 보다 많은 프로그램을 표시하는 방법

    
  1. 이전 댓글 더보기
  2. Blog Icon
    -_-;;

    에러만 나고 안되네요. 옵션이 너무 많다고 나오면서 아무 것도 안되네요.

  3. Blog Icon
    R.UM

    저는 잘 되는데 명령어 처음부터 끝까지 잘 넣으셨어요?

  4. 에러나는 것을 캡쳐해서 올려주시면 무슨 문제인지 진단하기 쉬울 것 같습니다. 스샷 공유하는 건 아래 링크를 참고해 주시구요.
    http://macnews.tistory.com/498

  5. Blog Icon
    -_-;;

    역시 안되네요.

  6. Blog Icon
    oldtype

    런치패드 프로그램 목록을 SQLite DB 로 관리하고 있었군요~ SQLite 내에서 테이블을 복사해서 원본을 보관해도 되겠다는 생각이 잠깐 들었네요.

  7. 지금은 없어졌지만 예전 사파리나 메일에서 RSS 구독하는 기능도 그렇고 OS X 내에서 SQLite를 광범위하게 이용해서 놀랐던 기억이 납니다 :-)

  8. Blog Icon
    김금필

    감사합니다 즐거운 메리크리스마스되세요

  9. 메리 크리스마스입니다~ ^^ ㅎㅎ

  10. Blog Icon
    무신론자

    으아 원님 블로그 배경화면이 움직이는 거라서 그런지 스크롤 할 때 엄청 느려졌습니다. 저만 이런 증상이 있나요? 현재 레티나 15인치에다가 크롬 브라우저를 쓰고 있습니다.

  11. 크리스마스 특집! 눈 내리는 애니메이션이었는데 12시 땡하자마자 원래 디자인으로 원상 복구 했습니다^^..

  12. Blog Icon
    배움의눈

    으앗 ㅜ ㅜ못봤다니 아쉽네요

  13. Blog Icon
    y5h

    유료라도 좋은 프로그램은 추천해주세요~!

  14. 가급적 OS X 기본 기능과 무료 프로그램들 위주로 소개해 드렸는데
    앞으론 무료 대안이 없는 경우엔 유로라도 꼭 소개해드리겠습니다^^

  15. Blog Icon
    견우

    어 정말 눈이 사라졌네요....ㅠㅠ

  16. CSS로만 눈 내리는걸 구현해 봤는데도 CPU 사용량이 후덜덜해서 이틀 만에 내렸습니다 :-)
    내년 크리스마스때 다시 보여드릴께요~

  17. Blog Icon
    배움의눈

    저같은 경우 쓸데없고 지울 수 없는 어플이 너무 많아서 런치패드를 아예 사용할 생각부터 안했습니다.
    왜그렇게 만들어놨는지 항상 궁금했습니다. 꼼수가 있긴했군요^^ 백지화하고 사용해보겠습니다. 미련없이 백업없이 날려버렸어요ㅋㅋ
    항상 좋은 정보 감사히 배우고 있습니다!

  18. Blog Icon
    이종원

    sqlite3: Error: too many options: "DELETE from apps; DELETE from groups WHERE title<>''; DELETE from items WHERE rowid>2;"
    Use -help for a list of options.

    2번 항목에서 지우려고 하니까 다음과 같이 에러가 나타나요~
    위의 분도 이렇게 나타나는 것 같은데..
    무엇이 문제일까요?

  19. 몇가지 심증이 가는 것이 있는데 한번 아래 링크에 있는 텍스트 파일을 열고 그 안에 있는 명령어를 터미널에 입력해 보시겠습니까? (텍스트를 통채로 복사해 터미널에 붙여보세요.)
    http://d.pr/n/CFZ7

  20. Blog Icon
    이종원

    sqlite3: Error: too many options: "DELETE from apps; \ DELETE from groups WHERE title<>''; DELETE from items WHERE rowid>2;"
    Use -help for a list of options.

    안녕하세요. One님께서 알려주신 방법대로 해 보았는데 다음과 같은 에러 문구가 나타납니다. 이젠 미련(?)을 버리고 그냥 사용하고 있습니다^^;
    뭐가 문제이려나..

  21. 그럼 기존의 db 파일의 일부가 corrupt 된 것이 확실한 것 같습니다.
    http://d.pr/n/1UXa ← 링크의 명령어로 db를 재생성하신 후 본문의 명령어를 다시 입력해 보세요.

  22. Blog Icon
    unknowny

    문제(?)가 있습니다.
    db 파일을 날리니 대쉬보드의 위젯 목록까지 날아가는군요.
    위젯을 추가하려니 빈 페이지만 뜹니다.
    그래서 다시 원상복구 했습니다.

  23. 런치패드에만 신경쓰느라 대시보드를 간과했군요..
    대시보드와 런치패드가 하나의 DB로 관리되다보니 발생하는 문제인데
    대시보드에 영향을 끼치지 않고 런치패드만 리셋할 수 있는 방법을
    본문에 조만간 보충해 넣도록 하겠습니다.

  24. Blog Icon
    azuremous

    launchpad에서 프로그램을 한개씩 지우는 스크립트를 만들려고 하다가 발견했습니다. http://underwoodmac.cocolog-nifty.com/blog/2012/07/launchpad-a48a.html
    한글화 해서 앱으로 만들었습니다. 필요하신 분들 사용하세요~
    http://blog.azuremous.net/launchpadcleaner_kor/

  25. Blog Icon
    schutein

    메버릭스 업글한 후에 런치패드를 백지상태로 만드는 터미널 명령어가 안되요~
    백투더맥님 방법이 없을까요? 바쁘시겠지만 알려주시면 감사하겠습니다.

    ps 항상 글 너무 잘 읽고 있습니다.

  26. Blog Icon
    auau

    혹시 Error: too many options... 라는 메세지가 나오나요?~/Library/Application Support/Dock/ 에서 desktop picture.db 말고 다른 파일명을 *.db 대신에 넣고 입력해보세요.

    원님 파일명(41D1A6....db)을 참조하자면 이런 내용으로요..
    sqlite3 ~/Library/Application\\ Support/Dock/41D*.db "DELETE from apps; DELETE from groups WHERE title<>''; DELETE from items WHERE rowid>2;";killall Dock

  27. Blog Icon
    parkof@naver.com

    아 정말 감사합니다. 클린마이맥2 앱으로 맥 청소 햇다가 런치패드 아이콘들 다 사라졌는데 5번째 기본갑 되돌리기로 다시 되돌렸네요 .... 다시한번 감사합니다.

  28. Blog Icon
    ckwodls

    위에 써져있는대로 했는데 특정 아이콘이 안지워지던데 ㅠㅠ 어떻게 해야할지모르겠네요

  29. Blog Icon
    케터릭

    터미널에서 'sqlite3 ~/Library/Application\\ Support/Dock/*.db “DELETE from apps; DELETE from groups WHERE title<>’’; DELETE from items WHERE rowid>2;”;killall Dock' 이걸 쳤는데

    sqlite3: Error: too many options: "“DELETE"
    Use -help for a list of options.
    -bash: DELETE: command not found
    -bash: DELETE: command not found
    -bash: ”: command not found
    이런 오류만 뜨고 안됩니다. 어떻게 해야 되나요? ㅠㅠ

  30. Blog Icon
    seim

    런치패드에서 폴더안에 몰아넣은 아이콘을 다시 폴더 밖으로 뺴고 싶을땐 어떻게 해야 하나요? 폰처럼 오래 눌러보고 밖으로 드래그 해봤는데 안되네요

  31. Blog Icon
    김종호

    음... 매일 여기서 많은 정보를 얻어 맥을 만지작 만지작 하고 있습니다.
    이번에 요세미티 업데이트 하고... 런치패드는 어떻게 다 지우는지.. 도저히 모르겠습니다.
    요세미티용으로 터미널 명령어에 대한 글을 업데이트 해 주실 수 있으신지요??

    감사합니다 ^^;

  32. Blog Icon
    bcrst

    Error: no such table: apps
    라는 메세지와 함께 런치패드 전체 삭제가 되질 않습니다 혹시 다른 전체삭제 명령어가 있을까요?

  33. Blog Icon
    1

    저도 똑같이 떠요ㅜㅜ

  34. Blog Icon
    정서호

    매버릭스 이후로 이 문제로 고민하시는 분들이 아직 많으신 것 같네요. 해외 사이트에서 찾은 유용한 팁인데요, sqlite 데이터베이스의 위치가 바뀌어서 기존 명령어로는 삭제가 안 되는 것이라고 합니다.

    2번(전체 아이콘 삭제)에 대한 답은 못 찾았지만, 3번(특정 아이콘 삭제)는 아래 명령어로 가능합니다.

    sqlite3 $(sudo find /private/var/folders -name com.apple.dock.launchpad)/db/db "DELETE FROM apps WHERE title='프로그램명';" && killall Dock

    프로그램명 부분을 삭제하시고 싶으신 앱의 이름으로 바꿔주시면 됩니다. 이 명령어가 다른 능력자 분들께 힌트가 되어서 2번 문제도 빨리 해결되었으면 좋겠네요 ㅋㅋ 백투더맥 블로그 항상 감사합니다

  35. Blog Icon
    unimun

    1. 특정 앱만 지울 때
    sudo sqlite3 $(sudo find /private/var/folders -name com.apple.dock.launchpad)/db/db "DELETE FROM apps WHERE title='프로그램명';" && killall Dock # delete a specific app

    2. 모든 앱을 지울 때
    sudo sqlite3 $(sudo find /private/var/folders -name com.apple.dock.launchpad)/db/db "DELETE FROM apps WHERE title<>'';" && killall Dock # delete a specific app #delete all apps

    3. 그룹을 지울 때 (2.만 실행한 경우 빈 그룹이 남아있음)
    sudo sqlite3 $(sudo find /private/var/folders -name com.apple.dock.launchpad)/db/db "DELETE FROM groups WHERE title<>'';" && killall Dock # delete a specific app #delete all groups

    4. 다운로드 중인 앱을 지울 때 (앱스토어에서 다운로드 중 멈춘 앱을 삭제하고 싶을 때)
    sudo sqlite3 $(sudo find /private/var/folders -name com.apple.dock.launchpad)/db/db "DELETE FROM downloading_apps WHERE title='프로그램명';" && killall Dock # delete all downloading apps


    나름 써봤는데.. 참고만 하시고... 이 명령어를 쓰는 책임은 각 사용자에게 있습니다. 실행 전 백업을 생활화 합시다!
    백업:
    mkdir ~/Backup;cp $(sudo find /private/var/folders -name com.apple.dock.launchpad)/db/db ~/Backup/