📢 이 게시글은 아래의 사양에서 진행되었습니다.
Server OS : Ubuntu 20.04.3 LTS on WSL2
SSH Client : MobaXterm v21.3
우분투를 처음 설치한 후 터미널을 실행하면 아주 투박한 bash가 반겨준다. 기능에 문제는 없지만 여러가지로 눈에 들어오는 디자인은 아니다.
물론 bash도 테마를 적용할 수 있지만 zsh가 bash를 포함하여 기능 개선이 이루어졌고 플러그인도 많이 지원하고 있다. 그래서 이 글에서는 zsh와 플러그인을 관리하는 oh-my-zsh를 설치하고 powerlevel10k 테마를 적용해 보았다.
zsh 설치 및 기본 셸 변경
# zsh 설치
sudo apt install zsh
# 터미널 기본 셸 변경
chsh -s $(which zsh)
zsh을 설치한 후 chsh 명령어를 통해 기본 셸을 변경한다. 셸 변경시 패스워드를 요구하는데 사용자의 패스워드를 입력하면 된다.
변경사항을 적용하기 위해 터미널을 재시작 하면 자동으로 zsh 설정화면이 나온다. 여기서는 0을 입력하여 .zshrc 파일을 생성만한다.
oh-my-zsh 설치하기
.zshrc 파일이 생성되고 투박한 zsh 화면이 우리를 반겨준다. 이제 테마를 적용하기 위해 oh-my-zsh를 설치한다.
# oh-my-zsh 설치
# wget 사용
sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# curl 사용
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
wget과 curl중 원하는 방식으로 설치파일을 다운받아 실행한다. 자동으로 설치를 시작한 후 완료되면 완료화면을 출력한다.
powerlevel10k 테마 적용하기
powerlevel10k를 사용하기 위해서는 추가 폰트가 필요하다. 공식 github페이지에 보면 필요한 폰트의 링크가 있다.
링크: https://github.com/romkatv/powerlevel10k#meslo-nerd-font-patched-for-powerlevel10k
GitHub - romkatv/powerlevel10k: A Zsh theme
A Zsh theme. Contribute to romkatv/powerlevel10k development by creating an account on GitHub.
github.com
폰트를 설치한 후 바로 아래에 있는 터미널 환경에 따라 설정을 해 준다. 폰트 설정을 하지 않으면 아이콘 등이 깨져서 출력되므로 반드시 폰트를 설정해야 한다.
폰트 설정 후 저장소에서 테마 파일을 clone한다.
# 저장소에서 테마 복사
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
테마를 적용하기 위해 zsh 설정파일을 수정한다.
# zsh 설정 파일 수정
sudo vi ~/.zshrc
# 파일 내 ZSH_THEME 값 변경
# 기본값이 ZSH_THEME="robbyrussell"로 되어 있다
ZSH_THEME="powerlevel10k/powerlevel10k"
ZSH_THEME 값을 변경해야하는데 기본값이 "robbyrussell"로 되어 있을 것이다. 이걸 "powerlevel10k/powerlevel10k"로 변경하여 저장 후 터미널을 재시작 하면 테마가 적용되며 설정이 실행된다.
필자는 Rainbow스타일이 마음에 들어서 Rainbow와 multiline으로 구성을 하였다.
만약 스타일을 바꾸고 싶다면 홈 디렉토리에서 p10k configure를 입력하면 설정을 다시 할 수 있다.
※ Prompt Style 목록에 Rainbow가 없을 경우
필자는 SSH 프로그램으로 MobaXterm을 사용하고 있는데 Rainbow Style이 목록에 없어서 터미널에 문제가 있나 해서 vscode에 있는 터미널로 실행을 해 보니 Rainbow Style이 목록에 생겼다.
그래서 찾아보니 터미널의 환경변수가 문제였다. powerline10k 공식 문서에는 터미널이 256 colors를 지원해야 한다고 되어있다. 그런데 MobaXterm은 8 colors로 설정이 되어 있었다.
# 현재 터미널 지원 색상 확인
env | grep TERM
# 터미널 지원 색상 출력
for i in {0..255}; do print -Pn "%K{$i} %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'\n'}; done
해결방법은 간단했다. 환경변수를 변경해 주는 명령어를 입력하기만 하면 되었다.
# 터미널 지원 색상 변경
export TERM=xterm-256color
위 방법으로 하면 터미널 재 접속시 원래대로 돌아오는 문제가 발생한다. 이 문제를 해결하기 위해 zsh이 실행될 때 자동으로 터미널 색상을 변경하도록 하면 된다.
# zsh 설정 파일 수정
sudo vi ~/.zshrc
# ZSH_THEME 값 아래에 추가
export TERM=xterm-256color
터미널이 실행될 때 자동으로 명령어가 실행되므로 터미널 재 접속시에도 색상 설정이 유지가 된다.
'Ubuntu > 기타' 카테고리의 다른 글
Ubuntu 설치 후 종료, 재부팅이 진행되지 않는 문제 (0) | 2024.05.26 |
---|---|
우분투 vi 명령어 (0) | 2021.01.29 |