Learn business/ETC

Bash Terminal을 세련되게(Mac)


👍 이번 블로그에서는 테마, Powerline, 폰트, Powerline-gitstatus를 추가하여 위의 첨부한 이미지와 같이 일반 Base Terminal을 아름답고 유용하게 보이게 하는 방법을 단계별로 살펴 보겠습니다. 

 

Mac에서 아마 기본 Terminal.app을 실행시키면 위와 같은 모습일 것입니다. 자, 그럼 바로 테마와 폰트 등을 적용해봅니다. 💪

 

Step 1. 새로운 테마 적용하기

첫 번째는 새로운 테마를 적용해 보는 것입니다. 기본 Terminal.app을 이용해서 개발을 하기에는 약간 개발력(?)이 떨어집니다. 그리고 무엇보다 저와 같은 서버 개발자들은 Terminal.app을 사용할 일이 많기 때문에 이왕이면 간지(?)가 나는 Terminal.app으로 개발하고 싶을 것으로 예상합니다.

 

한 번 Solarized-Dark 테마를 적용해봅시다.

1. https://ethanschoonover.com/solarized/ 링크로 이동합니다.

2. 스크롤을 내리다보면 다운로드 받을 수 있는 링크가 있습니다. ( 아래 zip 파일 첨부 )

solarized.zip
0.36MB

3. solarized.zip 파일을 다운로드 받습니다.

4. 다운을 받아서 압축을 풀면 osx-terminal.app-colors-solarized 폴더가 있습니다. 이 폴더 안에 Terminal에 적용할 수 있는 테마가 있습니다.

5. Terminal.app에 적용할 수 있는 테마 파일인 "Solarized Dark ansi.terminal"을 더블 클릭합니다. 만약 "unidentified developer"라는 경고창이 나온다면, 해당 파일에 마우스 우클릭 이후 "다음으로 열기..." > Terminal 옵션을 선택해주세요.

6. 여기까지 실행이 됐다면, 이미 우리의 Terminal.app 애플리케이션에 원하는 테마가 설치가 된 것입니다. 다만, 해당 테마를 기본으로 지정해주세요.

7. 터미널 > 환경설정(Preference) > 프로파일 > "Solarized Dark..." 기본으로 설정

 

 

👏 여기까지 설정이 끝나면 Terminal을 종료하고 다시 켜주세요. 그럼 아래와 같이 Terminal이 바뀔 것입니다.

 

Step 2. Powerline 설치하기

Powerline은 Python 앱이며 vim의 상태를 표기하기 위한 플러그인 입니다. 또한 zsh, bash, linux 등 다른 응용프로그램에 대해 상태를 표시할 수 있는 명령 Prompt를 제공합니다.

 

1. Python 설치하기

Powerline이 Python 앱이므로, 우리는 Python을 설치할 필요가 있습니다. MacOs라면 기본적으로 Python이 설치되어 있을 것입니다. python -v 명령어를 입력해서 버전을 확인해주세요. 그리고 Python이 2.7.x 버전 이상인지 확인해주세요.

만약 아니라면 Homebrew를 이용하면 $ brew install python 명령어를 사용해 간단히 최신 버전의 python을 설치하실 수 있습니다.

 

2. Python 패키지 관리자인 pip 설치하기 - npm 과 비슷한 친구입니다.

그 다음으로 $ sudo easy_install pip 명령어를 통해서 pip를 설치합니다.

 

3. CLI 툴인 XCode Developer 설치하기

XCode Developer CLI 도구는 Powerline 및 핵심 OSX 기능을 조작하는 앱에서 사용됩니다. 따라서 아래 명령어를 실행하여 XCode CLI 도구를 설치하세요.

$ xcode-select --install

참고로 위 명령어는 Mac 설치 관리자를 열고 XCode 개발자 CLI 도구를 설치해도 됩니다. 만약 작동하지 않는다면 $ xcode-select-r 명령어를 시도하여 재설정하세요.

 

4. Powerline 설치하기

자, 이제 Powerline을 pip를 사용해서 설치해보도록 합시다.

$ pip install --user powerline-status

 

만약 최신 버전의 powerline을 설치하고 싶으시면 아래 명령어를 실행해주세요.

$ pip install --user git+git://github.com/powerline/powerline

 

5. Bash에 Powerline Daemon 추가하기

이제 Terminal 명령 prompt를 모니터링하고 변경할 수 있도록 Powerline Daemon을 base에 추가해야합니다. 아래 순서를 따라하세요.

 

 1) Powerline을 설치한 위치를 복사합니다.

  아래 명령어를 실행하여 Powerline의 설치된 위치를 알아낼 수 있습니다.

  $ pip show powerline-status

 

 2) .bash_profile 파일을 열어서 적절한 위치에 daemon을 추가합니다.

  ".bash_profile"은 root 디렉토리에 숨긴 파일로 있습니다. ".bash_profile" 파일을 열어서 아래 내용을 추가해주세요.

export PATH=$PATH:$HOME/Library/Python/2.7/bin
powerline-daemon -q
POWERLINE_BASH_CONTINUATION=1
POWERLINE_BASH_SELECT=1
. /Users/vvshinevv/Library/Python/2.7/lib/python/site-packages/powerline/bindings/bash/powerline.sh

 아래 제가 추가한 샘플 예제를 스크린샷으로 올렸습니다. 참고해주세요.

적용한 예시

참고로 /Users/vvshinevv/Library/Python/2.7/lib/python/site-packages/ 위치는 위에 "pip show powerline-status"로 확인한 경로 부분에서 가져온 것입니다. 착오없길 바랍니다.

 3) Teminal을 재시작합니다.

 

 4) 무언가가 적용된 새로운 Terminal을 확인할 수 있습니다.

  근데 뭔가 "?"의 깨진 것과 같은 아이콘이 있습니다. Powerline은 기본적으로 사용할 수 없는 다양한 아이콘과 글꼴을 사용하기 때문입니다. 따라서 글꼴을 설치해야합니다.

여기서 주의할 점은 zsh 등의 쉘이 아닌 bash  shell 에서 확인해야한다는 점입니다.
참고 https://qastack.kr/ubuntu/385672/changing-shell-from-zsh-to-bash

 

Step 3. Powerline 폰트 설치하기

Powerline의 폰트를 설치하기 위해서 https://github.com/powerline/fonts 로 이동합니다.

 

1. 레포 전체를 다운로드하고 zip 파일을 풀어줍니다.

Git 레포를 zip 으로 다운받아서 압축을 풀어줍니다.

 

2. 원하는 폰트를 찾아서 설치합니다.

"Meslo dot fonts" 폴더를 엽니다. 아래 첨부한 사진처럼 보입니다. ".ttf" 파일 전체가 표시됩니다. 각각 글꼴이지만 일부는 "굵은 버전"이고 일부는 "일반 버전" 입니다.

".ttf" 파일을 두 번 클릭하고 "글꼴 설치"를 눌러 컴퓨터에 글꼴을 설치합니다. 저의 경우 "Meslo LG L DZ Regular" 및 "Meslo LG L DZ Italic"을 설치하겠습니다.

3. Terminal 테마에서 선택한 폰트를 지정해줍니다.

위 단계에서 "Solarized Dark" 테마를 추가했었습니다. 한 번 글꼴을 설정해봅시다.

 1) Terminal > 환경 설정(Preference) > 글꼴(Text) 을 선택합니다.

 2) Solarized Dark ansi 테마 선택합니다.

 3) "Font" 버튼 선택 - "Font" 대화 상자가 열립니다.

 4) "Font" 대화 상자의 Family에서 "Meslo LG L DZ for Powerline"을 선택하고 글꼴 크기 14로 선택합니다.

4. Terminal을 재시작 합니다.

완성된 모습을 볼 수 있습니다.

 

Step 4. 명령 Prompt에  Git 정보를 추가하기

명령 Prompt에 다양한 Git 상태를 표시하려면 Powerline-Gitstatus를 설치해야합니다. Powerline에 간단한 추가 기능으로 다양한 색상 및 테마를 추가하여 다양한 정보를 보여줄 수 있습니다.

색 구성과 테마 폴더에 있는 파일을 다룰 것입니다.

1. Powerline-Gitstatus 설치하기

$ pip install --user powerline-gitstatus

 

2. Powerline에 Powerline-Gitstatus 색 입히기

 1) colorschemes/shell/default.json 폴더를 엽니다.

 경로 : ${powerline-install-directory}/powerline/config_files/colorschemes/shell/default.json

 예시 : /Users/vvshinevv/Library/Python/2.7/lib/python/site-packages/powerline/config_files/colorschemes/shell/default.json

 

 2) 아래 색을 추가합니다.

 powerline-gitstatus 레포에 있는 README.md 파일에서도 언급했듯이 아래 사진처럼 추가해주세요.

추가 예시

 아래 내용을 복사하면 됩니다.

{
	"name": "Default color scheme for shell prompts",
	"groups": {
		"hostname": {
			"fg": "brightyellow",
			"bg": "mediumorange",
			"attrs": []
		},
		"environment": {
			"fg": "white",
			"bg": "darkestgreen",
			"attrs": []
		},
		"mode": {
			"fg": "darkestgreen",
			"bg": "brightgreen",
			"attrs": ["bold"]
		},
		"attached_clients": {
			"fg": "white",
			"bg": "darkestgreen",
			"attrs": []
		},

		"gitstatus": {
			"fg": "gray8",
			"bg": "gray2",
			"attrs": []
		},
		"gitstatus_branch": {
			"fg": "gray8",
			"bg": "gray2",
			"attrs": []
		},
		"gitstatus_branch_clean": {
			"fg": "green",
			"bg": "gray2",
			"attrs": []
		},
		"gitstatus_branch_dirty": {
			"fg": "gray8",
			"bg": "gray2",
			"attrs": []
		},
		"gitstatus_branch_detached": {
			"fg": "mediumpurple",
			"bg": "gray2",
			"attrs": []
		},
		"gitstatus_tag": {
			"fg": "darkcyan",
			"bg": "gray2",
			"attrs": []
		},
		"gitstatus_behind": {
			"fg": "gray10",
			"bg": "gray2",
			"attrs": []
		},
		"gitstatus_ahead": {
			"fg": "gray10",
			"bg": "gray2",
			"attrs": []
		},
		"gitstatus_staged": {
			"fg": "green",
			"bg": "gray2",
			"attrs": []
		},
		"gitstatus_unmerged": {
			"fg": "brightred",
			"bg": "gray2",
			"attrs": []
		},
		"gitstatus_changed": {
			"fg": "mediumorange",
			"bg": "gray2",
			"attrs": []
		},
		"gitstatus_untracked": {
			"fg": "brightestorange",
			"bg": "gray2",
			"attrs": []
		},
		"gitstatus_stashed": {
			"fg": "darkblue",
			"bg": "gray2",
			"attrs": []
		},
		"gitstatus:divider": {
			"fg": "gray8",
			"bg": "gray2",
			"attrs": []
		}
	},
	"mode_translations": {
		"vicmd": {
			"groups": {
				"mode": {
					"fg": "darkestcyan",
					"bg": "white",
					"attrs": ["bold"]
				}
			}
		}
	}
}

3. 테마 활성화하기

 1) colorschemes/shell/default.json 폴더를 엽니다.

 경로 : ${powerline-install-directory}/powerline/config_files/themes/shell/default.json

 예시 : /Users/vvshinevv/Library/Python/2.7/lib/python/site-packages/powerline/config_files/themes/shell/default.json

 

 2) 아래 코드를 default.json에 추가해주세요.

{
    "function": "powerline_gitstatus.gitstatus",
    "priority": 40
}

4. Powerline-daemon 재시작하기

파일을 저장하고 아래 명령어를 실행해 주세요. (가끔 Terminal에서 명령 Prompt가 깨져서나오면 실행해주세요.)

$ powerline-daemon --replace

 

5. Terminal 재시작하기

Terminal을 재시작하면 이제 아래와 같은 Terminal이 나타날 것입니다.

 


[참고자료]

https://www.freecodecamp.org/news/jazz-up-your-bash-terminal-a-step-by-step-guide-with-pictures-80267554cb22/