Build macOS system environments

주영택·2021년 1월 26일
1
post-thumbnail

지난 2020년 말 인텔 10세대 기반의 PC 를 조립했습니다. 맥OS 를 설치하기로 작정하고 약 한 달간 느긋하게 삽질을 한 기록을 남깁니다.

Initialize New Account

운영체제 설치를 마치면 언어/지역 등의 세팅을 마치고 기본 계정을 구성하는 단계를 거칩니다. 계정의 기본 환경은 라틴 문자를 기본으로 합니다. 윈도우즈 10 시스템에는 한글 계정도 허용되는 듯 한데, 매킨토시 환경은 여전히 영문 계정을 선호하고 있습니다.

계정 설정

Fullname 은 공백 없이 적어주시고 username 은 주로 사용하는 계정이 있다면 그 아이디를 사용하시면 모든 장비마다 같은 계정으로 유지할 수 있어 좋습니다. 그렇지 않다면 짧은 영문을 추천합니다.
현재 저는 2 글자 짜리 계정 명을 각 장비마다 사용하고 있습니다.

Last login: Mon Jan 25 19:55:58 on console
es@EarthShakers-iMac ~ %

아이클라우드 계정 연동은 나중에 해 주셔도 됩니다. '누구누구의 아이맥' 이런 정보 변경도 쉽게 변경이 가능합니다. 이에 대해서는 아래에 안내해 드리겠습니다.

패스워드 변경

처음 계정을 세팅하면서 패스워드도 함께 저장합니다. 예전 맥OS 에서는 1글자짜리 패스워드를 지원했는데 몇 년 전부터 4 글자 이상으로 강화되었습니다. 개인적으로 제 PC 를 누가 사용하더라도 문제가 될 상황이 아니어서 순전히 제가 불편해서 패스워드를 1 자리 문자로 사용합니다.

es@iMac ~ % pwpolicy -clearaccountpolicies 
Password for authenticator es:
Clearing global account policies
es@iMac ~ % 

터미널에서 패스워드를 변경하시려면 passwd 명령을 통해 갱신할 수 있습니다.

패스워드 변경은 시스템 프레퍼런스 앱의 Users & Groups 나 Security & Policy 에서 진행할 수 있습니다.

화면 잠금 기능 해제

개인 취향인데 화면보호기 활성화시 화면 잠금을 켜두지 않습니다. 여기에서도 패스워드 변경이 가능합니다.

이 경우 아이클라우드와 연계된 개인 정보도 지울지 물어보는데 저는 Keep 하는 걸 선택합니다.

시스템 세팅은 나중에 좀 더 하기로 하고 우선 Xcode 를 받으러 앱스토어로 이동합니다.

한글 입력기

이 문서를 작성하던 처음에 한글 타이핑을 하지 않았는데 이유는 제가 사용하는 한글 자판 배열이 평범하지 않기 때문입니다. 물론 두벌식 자판도 가끔 사용하지만 장문의 타이핑은 매우 어색하여 글을 쓰기는 적당하지 않습니다. 저는 현재 아래와 같은 구성의 한글 자판 배열을 사용하고 있습니다.

신세벌식 자판에 대해서는 다음 글을 참고해주세요.

저는 신세벌식 중에서 팥알 님의 버전을 조금 수정해서 사용하는데 구름입력기 커뮤니티 버전을 조금 수정해서 사용합니다.

아직까지 이 입력기를 빌드하지 못해 이 문서도 처음에는 영어로 작성했어요. 입력기를 빌드하고 문서 작업을 시작했습니다.
한/영 변환은 구름입력기의 기본 기능을 사용합니다.
아래에 추가로 설명하겠지만 입력기 변환 키는 별도로 지정하지 않고 사용합니다.

Get Xcode

우선 Xcode 를 설치하기 위해 앱스토어에 들어갑니다. 아직 아이클라우드 연동은 하지않고 스토어만 로그인하여 엑스코드를 다운로드 합니다. 애플 보안 시스템은 아이패드나 아이폰에 6 자리 핀번호를 요구할 것입니다. 이 코드를 입력하고 설치를 시작했습니다.

엑스코드가 설치되는 동안 시스템의 다른 부분을 세팅해 보겠습니다.

Desktop and Folder setting

파인더의 세팅은 두 가지를 진행해 주시면 됩니다. 첫째는 Cmd + , 를 통해 이루어지는 부분입니다. 다른 하나는 Cmd + J 를 통해 View Option 을 세팅합니다. 주요 옵션을 살펴 보면 이런 것들이 있습니다.

  • 바탕화면에 하드 디스크(사실은 SSD 가 대부분이겠지만) 보기: 바탕화면을 깨끗히 사용하기 보다 드라이브가 보이는게 안정감을 느끼시는 분들은 켜 주시면 됩니다.

  • 사이드바에 필요한 항목을 활성화: 도큐멘트 폴더 등을 켜줄 수 있습니다.

  • 모든 파일의 확장자 보기: 기본적으로 파일의 확장자가 숨겨져 있는데 이를 보여줍니다. 단, Spotlight 에서 검색되는 앱의 확장자도 함께 보여주게 되는데 저는 이게 싫어서 끄고 있습니다. 파일 목록에서 파일명으로 정렬시 폴더를 위로 정렬해주는 옵션도 여기에 있습니다.

두번 째로 세팅하는 부분은 보기 옵션입니다. 저는 이정도로 세팅하고 있습니다. Grid spacing 값을 적절히 조절하고 item info 옵션을 켜 파일 시스템의 기본 상태를 확인합니다.

  • Sort By: Snap to Grid 를 선택하여 데스크탑이 너무 지저분해지지 않도록 합니다. 스택 기능은 사용하지 않는 편입니다.

진짜 하드 디스크를 연결하여 사용하고 있는데 위 안내처럼 세팅하면 아래 이미지처럼 볼 수 있습니다.

System Preference

Disable system update notification and badge

인텔 맥에는 카탈리나가 끝이다. 라고 생각해서 더 이상 업데이트를 하지 않기로 했지만 빅서를 클린설치 하였습니다. 그래도 업데이트 설정 부분에서 자동으로 업데이트 하는 기능은 꺼 두시는 걸 추천 드립니다.

빅서의 해당 설정에 추가로 프로파일 관련 정보와 미리보기 버전 업데이트를 받을지에 대한 내용이 있지만 맥락은 같습니다.

더이상 시스템 업그레이드를 하지 않을 생각이라 아예 뱃지도 안보이게 했으면 좋겠다 싶어 자동 업데이트 관련 정보도 비활성화하는 설정을 찾아 보았습니다.

defaults write com.apple.systempreferences AttentionPrefBundleIDs 0

혹시라도 다운로드 된 파일이 있는지 확인하기 위해 점검한 부분도 남겨 둡니다.

$ open $TMPDIR../C/com.apple.appstore/

아쉽게도 이 작업은 컴퓨터를 리부팅하면 사라집니다.

Spotlight

맥OS 는 예전부터 커맨드 + 스페이스바 프로그램 런처 기능부터 웹 검색까지 다양한 기능을 제공합니다. 그래도 저는 프로그램 런처 기능만 사용합니다. 다른 내용은 모두 비활성화 합니다.
검색의 대상은 대부분 추가로 메모리 점유 또는 메모리 소모를 동반합니다. 필요없는 부분까지 색인하는 것도 원하지 않습니다.

프라이버시 설정에서 제외할 스팟라이트 색인 대상 저장소를 지정할 수 있습니다.
소스 코드 저장소, 저장소 코드는 개발 툴에서 검색하면 됩니다.

Language & Region

시스템은 영문을 상위로 사용하고 있습니다. 예전에는 우측 상단의 날짜 표시 부분만 한글로 지정할 수 있었는데 언젠가부터 안되더라구요. 그냥 씁니다.

특별히 한글화 하는 앱은 Music 으로 예전에 영문 상위로 시스템을 세팅하면 음악 파일의 한글 정보를 제대로 표시하지 않아서 여전히 이렇게 사용 중입니다.

빅서 시스템에서 시각 (시계) 설정하는 부분은 Dock & Menu Bar 항목으로 이동했으니 시계 세팅해 사용하는 경우 이곳을 살펴 보세요. 추가로 아래 링크가 괜찮습니다.

모니터 세팅

모니터 회전이나 주사율 변경을 위해 모니터 항목을 참고해주세요.

장비 이름 변경

로컬 호스트 이름을 변경하기 위해 Sharing 항목에서 Computer Name 항목을 변경해 주세요.

메뉴 바에 노출하고 싶은 항목들

블루투스 세팅과 볼룸 메뉴는 항상 보이도록 세팅합니다.

  • Bluetooth
  • Volume

Accessiblility

마우스 흔들어 커서를 크게하는 기능은 좋을 때도 있지만 저는 늘 별로였습니다. 끕니다.

Manage mouse control

가속은 최소로 합니다. 게임용 마우스를 주로 사용하는 저는 늘 최소로 세팅합니다. 일반 마우스 사용시에는 두 칸 정도 당겨 씁니다.

애플 마우스 대신 다른 서드파티 제품을 사용한다면 앞으로 뒤로 동작하는 버튼이 윈도우즈 처럼 바로 지원하지 않는 경우가 있습니다. 이런 경우는 아래의 유틸리티를 사용하는 것도 좋습니다.

Manage keyboard control

키보드 반복은 빠르게 반복 지연은 짧게.

그리고 일부 조합 키의 키맵을 변경하기 위해 카라바이너를 사용합니다.

HHKB 를 사용하고 있는 저는 커맨드 + 백틱 을 통한 애플리케이션 간 창 전환 키를 두 손으로 사용해야 하는데 이 부분을 개선하는 과정에 카라바이너를 사용하고 있습니다.

  • cmd + esc: 이 조합키가 cmd + ` (백틱) 키로 동작하도록 변경

현재 사용 중인 추가 조합키 입니다.

그 외 한/영 전환은 구름입력기가 담당하고 있습니다.

구름입력기를 통한 한/영 전환

최신 구름입력기는 shift+space 를 통해 한/영 전환을 지원하는데 그 방법이 지능적입니다.
실 예로 문자 입력 상태가 아닌 경우 shift + space bar 를 누르면 한/영 전환이 아니라 원래 제공되어야 하는 동작이 발생합니다.

브라우저에서 스페이스 바를 통해 한 페이지를 아래로 스크롤 합니다. 쉬프트+스페이스 바는 한 페이지 위로 스크롤 하는데 시스템에서 제공하는 한/영 전환키를 쉬프트+스페이스 바로 사용하면 이 기능이 동작하지 않습니다.

전역으로 한/영 전환을 하는가 아닌가의 차이죠.

그 외 키가 눌렸을 때 한/영 전환을 하는가 키가 올라올 때 한/영 전환을 하는가도 매우 중요합니다. 그래서 많은 분들이 아래 그림처럼 한/영 전환 입력키를 세팅해 사용했습니다.

이제 시스템에서 제공하는 Input Sources 단축키 시스템을 사용하지 않아도 됩니다.

시스템의 입력기 전환 기능은 비활성화 하고 구름입력기의 한/영 전환만 단축키만 활성화 하여 사용합니다.

카라바이너는 저수준 레벨에서 키 입력을 확인할 수 있는 유틸리티도 제공하여 나름 유용합니다.

Manage shortcuts

탭 키를 사용해 컨트롤 영역을 이동하기 원하는 경우에 아래 옵션을 활성화 시킵니다.

해피해킹 레이아웃 기준 제어 센터 컨트롤 키는 다음과 같습니다.

  • 미션 콘트롤: 옵션 + 탭, 마우스 3번 버튼
  • 바탕화면 보기: F13 → Left-Cmd + Backtick
  • 노티피케이션 센터 보기: F14 → Right-Opt + Backtick
  • 런치 패드 보기: F15 → Right-Cmd + Backtick

기본으로 단축키 중 비활성화 한 부분이 많습니다.

그동안 모노스냅을 메인 스크린 캡쳐 툴로 사용했습니다. 이번 셋업에는 모노스냅을 제외 했습니다. 기본 스크린 캡쳐 Shift + Cmd + 5 기능이 만족스럽고 이전 캡쳐 영역까지 기억하고 있으며 (모노스냅을 사용한 가장 큰 이유) 화살표 그리기 같은 기능도 가지고 있기 때문에 추가로 설치하지 않아도 될 듯 합니다.

그 외 나머지 Services 와 Accessibility 키보드 바인딩은 제거합니다.

추가로 이 3개의 앱에서 사용하고 있는 별도의 단축키가 있습니다.

  • Typora: Copy as HTML Code 쉬프트 + 커맨드 + D
  • PDF Expert: Show in Finder 쉬프트 + 커맨드 + R
  • Tweetbot: Copy Tweet 쉬프트 + 커맨드 + C

미션 콘트롤

미션 콘트롤 키에 마우스를 지정할 수 있습니다. 버튼이 많은 마우스를 잘 활용하기 위해 별도의 유틸리티가 필요할 수 있습니다. 이 부분은 취향이니 그냥 환경과 조건에 따라 대충 사용합니다.

저는 아주 오래된 로지텍 G500 마우스를 사용하고 있는데 엄지 손가락으로 접근할 수 있는 버튼이 3개가 있습니다. 앞 뒤로 이동하는 키 대신 미션 콘트롤 키를 사용합니다.

  • 앞으로 가기 버튼: 데스크탑 보기 (Show Desktop)
  • 중간 버튼: 런치패드 호출 (Show Launchpad)
  • 뒤로 가기 버튼: 미션 콘트롤 (Mission Control)

브라우저 웹 서핑 보다 애플리케이션 운영에 더 신경 쓰겠다는 의미로 해석하시면 됩니다. (나중에 다시 서핑용 키로 변경합니다...)

폰트 설정

최근 다양한 한글 폰트가 오픈소스 또는 무료로 공개되어 예전보다 더 풍성한 디지털 한글 환경을 구성할 수 있습니다. 저는 '이롭게' 에서 만든 바탕체 폰트와 '리디' 에서 만든 바탕체 폰트를 브라우저 기본 폰트로 사용하고 있습니다. 두 폰트는 비슷하면서도 살짝 다른 특징을 가지고 있습니다. 경험상 이롭게 폰트는 전통적인 한글/영문 명조체를 구성하고 있고 리디 폰트는 조금 더 독특한 디자인으로 눈길을 끌고 있습니다. 둘 다 매우 훌륭한 품질의 한글 폰트입니다.

산세리프 (돋움체 스타일) 폰트는 스포카 한 산스 네오 서브셋 버전을 사용하고 있습니다. 용량을 적게 사용할 수 있어 좋습니다.

세리프 폰트

산세리프 폰트

코딩 폰트

코딩용 폰트는 기본적으로 한글을 위해 네이버 D2Coding 을 설치합니다. 그 외 폰트 사이트에서 유명한 코딩용 폰트를 확인하고 nerdfonts.com 에서 그에 대응하는 폰트를 사용하면 좋습니다.

Setup Brew

https://brew.sh/index_ko 가이드 참고

개발자들이 맥OS 를 사랑하는 가장 큰 이유가 운영체제에서 기본 제공하는 *nix 환경이라고 생각합니다. 특히 터미널 인터페이스 기반의 환경 구성이 편리합니다. 추가로 Ctrl 키를 별도의 동작으로 구성하고 있다는 점도 매우 좋습니다.

윈도우즈/리눅스 환경이라면 복사/붙여 넣기 작업을 위해 Ctrl + C/V 를 사용합니다. VI 키 바인딩이나 Emacs 키 바인딩을 사용하는 경우에 이 키들은 다른 역할을 합니다. 저는 터미널에서 Readline 환경을 무리없이 사용할 수 있는 맥OS 가 너무 맘에 듭니다.

그리고 그 다음은 mac brew 를 통한 프로그램 설치를 꼽을 수 있습니다. 먼저 Xcode 를 다운받고 미리 실행시켜두어 필요한 준비 마쳐 주세요.

공식 사이트에 방문하여 브류를 설치합니다.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

추가로 필요한 Xcode 커맨드라인 툴이 함께 설치되니 넉넉히 시간을 가지고 마무리 해 주세요.

Software Update Tool


Downloading Command Line Tools for Xcode
Downloaded Command Line Tools for Xcode
Installing Command Line Tools for Xcode
Done with Command Line Tools for Xcode
Done.

Portable ruby 까지 설치를 마치면 준비가 끝났다고 보시면 됩니다. 아무 이상 없는지 doctor 를 호출해 봅니다.

$ brew doctor

> Your system is ready to brew.

Repository Folder

코드 저장을 어디에 하는지는 취향이 여럿이 있지만 주로 세 네 가지로 구분됩니다.

  • Workspace: 이클립스 시절부터 이어져온 전통을 고수합니다.
  • Project: 개발자의 코드 영역은 프로젝트죠.
  • Repository: 저장소 중심의 최신 취향입니다. 저는 이 폴더 이름을 고수하고 있습니다.
  • 아무데나... 주로 내 문서 아래나 홈 디렉토리 아래... (별로 추천하고 싶지 않네요.)
es@iMac ~ % mkdir -p Repository
es@iMac ~ % cd $_
es@iMac Repository %

!$ 는 이전 실행 명령의 마지막 인자 !^ 은 이전 실행 명령의 처음 인자. !* 은 모든 인자를 참조.

Xcode with Vim keybind extension

다양한 에디터를 사용하지만 키 조합 환경은 VI 스타일을 고수하고 있습니다. 모달 에디팅이 없으면 불편한 편입니다. 그리고 맥OS 에는 Emacs 스타일의 이동키를 지원하는 에디터가 많아 그나마 살만합니다.

Xcode 도 예외는 아닙니다. 고맙게도 Xvim 프로젝트가 XCode 에 VI 키 바인딩을 제공합니다. 최신 버전의 빌드는 특정 버전의 Xcode 를 사용하지 않고 설치할 수 있게 개선되었습니다. GA 빌드를 다운로드 하고 가이드 대로 진행합니다.

Xcode 12 에 기본 내장이 된다고 합니다!!!

애플의 보안 정책에 따라 코드 사이닝이 필요합니다.

$ sudo codesign -f -s 'Earth Shaker' /Applications/Xcode.app

5 분 이상 걸릴 수 있으니 참고해주세요.

이후 환경 설정은 다음 포스트에 이어집니다.

profile
NodeJS 백엔드 웹 개발자입니다.

7개의 댓글

comment-user-thumbnail
2023년 12월 21일

안녕하세요. 글 잘 읽었습니다. 저는 원래 세벌식390을 쓰다가 한/영에서 다른 특수문자 때문에 오늘 신세벌식P2로 바꾸게 됐습니다. 글을 읽다보니 신세벌식을 수정하여 사용하신다기에 궁금하여 질문드리게 되었습니다.

자주 사용하는 특수문자 위주로 키 매핑을 수정하여 사용하고 싶은데 어떻게 하면 될까요? 현재 구름입력기 1.12.2 커뮤니티 버전을 사용중입니다.

그리고 주영택님은 어떤 점이 불편하여 어떤 점을 수정하셨는지 궁금한데 실례가 안된다면 알려주실 수 있나요?

감사합니다.

3개의 답글