Search

Ubuntu zsh install

apt-get install zsh 로 zsh를 설치한다.
echo $SHELL 로 현재 쉘 상태를 확인하고
chsh -s $(which zsh) 명령어를 통해 쉘을 zsh로 바꿔준다. /etc/passwd 에서 변경 진행해도 상관없다.
chsh 명령어 사용 중 chsh:PAM authentication failed 오류가 뜰 시 /etc/pam.d/chsh 에서 auth_required pam_shell.so 부분을 주석처리한 후 chsh 명령어를 재실행한다.
이후 터미널을 재시작한다.
echo $SHELL 명령어 출력결과로 zsh가 나오면 변경이 완료된 것이다.

Oh-My-Zsh 설치

zsh 테마 oh-my-zsh를 설치하여 관리할 수 있도록 한다.

powerlevel10k 설치

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/.oh-my-zsh/custom/themes/powerlevel10k
powerlevel10k저장소에서 클론한다.
클론 시 ~/.oh-my-zsh/custom/themes/powerlevel10k 에 저장시켜 .oh-my-zsh가 powerlevel10k 테마를 인식할 수 있도록 한다.
~/.zshrc 에서 ZSH_THEME 변수를 아래 값과 같이 변경하여 zsh의 테마를 지정해준다.
ZSH_THEME="powerlevel10k/powerlevel10k"
또한 256 컬러를 지원하는 터미널에서만 사용할 수 있기에
~/.zshrc 를 열어 export TERM=xterm-256color 값을 설정해준다.
이후 아이콘을 출력시킬 폰트를 설치해야 한다.
폰트의 경우 p10k에서 MesloLGS NF 를 공식 지원하고 있으니 왠만하면 해당 폰트를 설치할 수 있도록 하자. (아래 링크에서 폰트를 다운받을 수 있다.)
이후 터미널을 다시 실행시키거나 p10k configure 명령어를 통해 p10k 테마를 설정한다.
필자의 사용 설정은 다음과 같다.
Prompt Style : (3) Rainbow Character Set : (1) Unicode Show current time? : (3) 24-hour format Prompt Separators : (1) Angled Prompt Heads : (1) Sharp Prompt Tails : (1) Flat Prompt Height : (1) One line Prompt Spacing : (1) Compact Icons : (2) Many icons [ (1) Few icons 사용해도 무방 ] Prompt Flow : (1) Concise Enable Transient Prompt? : (n) No Instant Prompt Mode : (1) Verbose (recommended) Apply changes to ~/.zshrc? : (y) Yes (recommended)
Plain Text
이후 디폴트 테마 설정이 마음에 들지 않아 ~/.p10k.zsh 파일을 추가로 수정하였다.
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS 변수의 # load 주석 제거 디렉토리를 보여주는 설정을 해당 설정값으로 세팅 typeset -g POWERLEVEL9K_SHORTEN_DIR_LENGTH=0 typeset -g POWERLEVEL9K_SHORTEN_DELIMITER="" typeset -g POWERLEVEL9K_SHORTEN_STRATEGY="truncate_absolute_chars" 디렉토리 배경색, 폰트 색, 스타일 지정 typeset -g POWERLEVEL9K_DIR_BACKGROUND=27 typeset -g POWERLEVEL9K_DIR_FOREGROUND=0 typeset -g POWERLEVEL9K_DIR_SHORTENED_FOREGROUND=232 typeset -g POWERLEVEL9K_DIR_ANCHOR_FOREGROUND=232 typeset -g POWERLEVEL9K_DIR_ANCHOR_BOLD=true 깃 관련 배경색, 폰트 색, 스타일 지정 typeset -g POWERLEVEL9K_VCS_CLEAN_BACKGROUND=35 typeset -g POWERLEVEL9K_VCS_MODIFIED_BACKGROUND=84 typeset -g POWERLEVEL9K_VCS_UNTRACKED_BACKGROUND=28 typeset -g POWERLEVEL9K_VCS_CONFLICTED_BACKGROUND=9 typeset -g POWERLEVEL9K_VCS_LOADING_BACKGROUND=8
Plain Text
xterm-256 의 색 설정 값을 preview로 보려면 아래 명령어를 통해 알 수 있다.
for i in {0..255}; do print -Pn “%K{$i} %k%F{$i}${(l:3::0:)i}%f “ ${${(M)$((i%6)):#3}:+$’\n’}; done
해당 명령어를 외우는 것이 귀찮아서 alias 로 지정시켰다.
alias colorpreview='for i in {0..255}; do print -Pn “%K{$i} %k%F{$i}${(l:3::0:)i}%f “ ${${(M)$((i%6)):#3}:+$’\n’}; done'
alias 지정 후 colorpreview를 진행하면 256 색상에 대한 값들을 확인할 수 있다.

번외 : full_icon에서 none_icon 으로 바꾸는 법

코딩을 하다보면 폰트 호환성 등의 문제로 아이콘이 깨져 보이는 현상이 있을 수 있다.
이때 .p10k.zsh 파일을 수정하는 것으로 아이콘을 보이지 않게끔 설정할 수 있다.
1.
.p10k.zsh 파일을 연다.
2.
POWERLEVEL9K_MODE 변수를 찾는다.
a.
해당 변수는 아래와 같이 세팅이 되어 있을 것이다.
typeset -g POWERLEVEL9K_MODE=nerdfont-complete
Plain Text
b.
아래 변수의 값을 바꾸어준다.
typeset -g POWERLEVEL9K_MODE=powerline
Plain Text
3.
더이상 아이콘이 보이지 않는다. 그러나 추가적인 문제를 발견하였다. .git path가 있는 디렉토리에 접근 시 아이콘 한개가 깨져 보이는 것을 추가로 확인…
a.
마찬가지로 .p10k.zsh 파일을 열어 POWERLEVEL9K_VCS_BRANCH_ICON 변수를 찾는다. 해당 변수는 아래와 같이 세팅이 되어 있을 것이다.
typeset -g POWERLEVEL9K_VCS_BRANCH_ICON='\uF126 '
Plain Text
b.
아래 변수의 값을 바꾸어준다.
typeset -g POWERLEVEL9K_VCS_BRANCH_ICON=
Plain Text
최종결과
# Defines character set used by powerlevel10k. It's best to let `p10k configure` set it for you. # full icon # typeset -g POWERLEVEL9K_MODE=nerdfont-complete # none icon typeset -g POWERLEVEL9K_MODE=powerline # GIT BRANCH ICON ============================================================ # Branch icon. Set this parameter to '\UE0A0 ' for the popular Powerline branch icon. # full icon # typeset -g POWERLEVEL9K_VCS_BRANCH_ICON='\uF126 ' # none icon typeset -g POWERLEVEL9K_VCS_BRANCH_ICON= # Untracked files icon. It's really a question mark, your font isn't broken. # Change the value of this parameter to show a different icon. typeset -g POWERLEVEL9K_VCS_UNTRACKED_ICON='?'
Bash
필자는 # full icon# none icon 으로 나누어 주석만 바꿔주면 아이콘을 토글할 수 있게끔 설정해 두었다.