우분투와 같이 사용하려는 맥북 설정

우분투와 맥북을 같이 사용하면서 서로 비슷한 개발 환경으로 맞추는 과정을 정리했다. 우분투는 18.04 버전을 사용하고 맥북은 10.14 버전이다. 우분투를 먼저 사용했고 이제 맥북을 사용함으로 우분투 툴과 비교하게 된다. 우분투는 lsb_release 명령으로 운용체제 버전을 알 수 있고 맥북은 system_profile 명령으로 확인할 수 있다.

# ubuntu
lsb_release -a

# mac
system_profiler SPSoftwareDataType

왼쪽 앞 바지 주머니에는 핸드폰을 오른쪽 뒤 주머니에는 교통 카드를 넣고 다닌다. 몸이 기억해서 출근할 때 가져가지 않는 법이 없다. 비슷한 방법으로 우분투와 맥북을 같이 사용하지만 비슷한 프로그램을 사용하고 비슷한 키를 사용하고 싶었다. 습관처럼 몸이 기억하고 싶었다. 그러면 생각하는 시간을 더 많이 가질 수 있을 거라고 생각했다.

개발 도구

우선 맥의 패키지 관리자 brew를 설치했다. 우분투의 apt와 비슷한 기능을 한다. 그리고 우분투와 같이 사용할 프로그램을 설치했다. 모두 터미널 프로그램이다. 터미널에서 vimtmux를 사용하면 맥북이나 우분투에서 작업하는 환경이 거의 비슷하다.

brew install vifm wget tree ranger ag tig
brew install zsh zsh-completions tmux fasd httpie

터미널

우분투에서는 terminator를 사용하고 있다. 같은 프로그램을 사용하는 것을 포기하고 맥북 터미널 프로그램으로 가장 인기 있다는 iTerm2를 설치했다. 

brew cask install iterm2

터미널 폰트는 D2Coding 을 사용하고 있다. 폰트만 같아도 맥북과 우분투의 터미널을 구분하기 힘들다. 두 운영체제에서 같이 설치할 수 있는 일렉트론 터미널 프로그램  hyper를 두 운영체제에서 사용 중인데 vim, tmux 이런 툴 사용에 전혀 문제없다. 현재까지 두 가지가 문제인데 git 한글 로그를 tig로 볼 때 깨지는 것과 Mac에서 한글 입력시에 깨지는 것이다.

소스 코드를 비교하는 툴

우분에서도 meld를 사용한다. 물론 맥북에서도 설치할 수 있다.

brew cask install meld

스크립트 언어

노드를 설치하고 노드 버전을 관리하기 위하여 nvm을 설치했다. 비슷하게 파이썬과 루비를  설치하고 관리하려고 pyenv, rvm을 설치했다. 이런 툴이 있으면 버전을 바꾸어가며 테스트할 수 있어서 좋다.

스크롤 방향 

맥의 스크롤은 내가 우분투에서 사용하던 방법과 반대다. 마우스 스크롤을 올리면 스크롤 대상 내용이 위로 올라간다. 모바일에서 터치를 위로 드래그하면 웹 페이지 내용이 위로 올라가는 것과 같다. 그래서 이 기능은 맥북을  따라가기로 했다. 우분투 설정을 바꾸었다. 우분투에서 dconf-editor를 열고 키보드로 “natural-scroll”을 입력하고 아래 나타난 항목을 모두 켰다. 맥 방식이라기 보다는 모바일 방식을 따라 가기로 했다.

한영 전환

우분투에서는 한영 전환하려고 오른쪽 alt 키를 사용했다. 맥북 키보드에는 그 위치에 command 키가 있음으로 이 키를 한영 전환으로 설정했다. 맥북 시스템 설정에서 f18 키를 한영 전환 키로 변경한 다음에 karabiner 프로그램으로 오른쪽 command 키에 f18을 설정했다. 오른쪽 command 키 → karabiner → f18 키로 동작한다. 이제 어느 키라도 karabiner를 사용하여 f18키에 할당하면 한영 전환으로 사용할 수 있다. Karabiner 프로그램은 조합된 키 할당도 지원한다. 우분투와 비교한다면 xmodmap, xcape 같은 툴이다.

우분투의 키보드와 마우스를 맥에서도 사용

기계식 키보드가 우분투에 연결되어 있다. barrier를 사용하면 이 키보드를 맥에서도 사용할 수 있다. 마우스도 같이 사용할 수 있다. 키보드가 입력하는 컴퓨터의 선택은 소프트 키로 설정했다.

브라우저 탭 이동 단축키

브라우저를 많이 사용하는데 탭 간 이동이 불편해서 오른쪽 shift 키에 control+pgdn키를 할당했다. 이 키 하나만 누르면 브라우저에서 오른쪽 탭을 선택할 수 있다. 한 방향으로만 이동하는 키만 있어도 충분히 편하다. 맥북에서는 karabiner를 사용하여 이 기능을 추가했다. 대문자 입력하는 기능으로 shift키를 사용하지 않음으로 문제없다.

단축키 툴

우분투에서는 xbindkeys를 사용하여 많은 응용 프로그램을 단축키로 호출했다. 맥북에서는 snap를 설치해서 같은 기능을 유지했다. 아직까지는 우분투에서의 설정이 더 강력하고 편하다. 윈도라면 autohotkey를 사용할만하다. 아래 2개의 단축키만 우선 통일했다.

  • command + y, iTerm2
  • command + u, 크롬 브라우저

Caps Lock 키를 Control 키로 변경

대문자 키를 연이어 입력하는 경우는 드물고 Control 키는 엄청 사용한다. Caps Lock에 Control키를 할당하는 것이 손가락 건강에 이롭다. 맥북 시스템 설정을 통하여 Caps Lock를 Control 키로 변경했다.

Control 키에 Escape 키 기능 추가

Karabiner 사용해서 혼자 짧게 누르면 Escape 키로 동작하고 다른 키와 함께 누르면 Control 키로 동작하도록 변경했다.

Space 키에 Shift 키 기능 추가

Karabiner 사용해서 혼자 짧게 누르면 Space 키로 동작하고 다른 키와 함께 누르면 Shift 키로 동작하도록 변경했다.

가상화면 좌우 이동

맥북 시스템 설정을 통해 가상화면 좌우 이동을 command + h, command + l 키에 할당했다. 우분투에서는 super + h, super + l 키를 사용하고 있다.

트랙패드

맥의 트랙패드 기능은 편리하다. 우분투 데스크톱을 사용하게 되어서 패드 기능은 동일하게 만들기 힘들어졌다. 우분투 그놈의 super + s는 여러 창들을 보면서 선택할 수 있다. 맥북의 세 손가락과 비슷하다. 우분투 그놈의 super + a는 맥북 트랙패드 네 손가락과 비슷하다.

X 윈도우

Ssh 명령에 -X 옵션을 사용하여 우분투에 접속하면 우분투 GUI 애플리케이션을 맥북 화면에서 볼 수 있다. 생각보다 매력적이다. 단 맥용 X 윈도를 설치해야 한다. 반대로 우분투에서 맥북 GUI 애플리케이션의 화면을 볼 수 있으면 좋겠다는 생각을 해 봤다. 터미널에서 동작하는 프로그램과 일렉트론으로 만들어진 툴을 사용하면 서로 다른 운영체제에서도 비슷한 개발환경을 가질 수 있다. 어쨌든 맥북을 사용하게 되어서 반갑다.

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중

This site uses Akismet to reduce spam. Learn how your comment data is processed.