대학원 공부/computer science

Linux : WSL에 ZSH 설치 + agnoster + multiline

월곡동로봇팔 2020. 5. 13. 22:46

WSL

WSL은 window subsystem linux 를 말하며, cmd 밖에 이용하지 못하는 windows 유저들에게 linunx 커널을 쓰게 해준다는 것은 정말 신의 한수이다. 마치 windows 를 잘만하면 linux 처럼 사용이 가능하다. (물론 난 우분투가 좋다....ㅎㅎ)

 

ZSH 설치

sudo apt-get install zsh
ZSH 기본 shell로 변경
chsh -s /usr/bin/zsh

ZSH 설정

재부팅 후 terminal을 열면, 다음과 같은 창이 뜬다. 나는 (2)을 눌렀다. 직접 설정하려면 (1)을 설정하도록 한다.

 

oh-my-zsh 설치하기

sudo apt install curl

sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

curl이 없다면 설치하고 그 후 다음 명령을 실행해서 oh-my-zsh을 깔아준다.

 

다 설치가 끝나면 현재 화면이 뜨면서 현재 디렉토리를 의미하는  ~ 하나만 나올 것이다.

 

agnoster로 변경하기

sudo vim ~/.zshrc

다음과 같이 나온다. ZSH_THEME="robbyrussell"로 나와있는 부분은 위와 같이 agnoster로 변경해준다.

 

깨지지 않는 font 다운로드 + 터미널 font 변경

아마 여기까지 하면 분명 font가 깨질 것이다. directory 구조가 삼각형으로 나와야하는데, 아마 양끝이 네모에서 끝날 것이다... 굉장히 화가나고 안 예쁜 상황.

 

https://github.com/powerline/fonts.git

 

powerline/fonts

Patched fonts for Powerline users. Contribute to powerline/fonts development by creating an account on GitHub.

github.com

위의 주소에서 github로 가서 폴더를 다운로드 받는다.

다운로드 받고 위의 가운데에 ttf 파일을 클릭해서 설치를 해준다.

 

다음과같이 DejaVu로 글꼴이 생겨있을텐데, 이 부분을 선택해준다.

 

multiline 적용하기 (agnoster)

vim ~/.oh-my-zsh/themes/agnoster.zsh-theme

위의 명령어를 실행한다. 근데 만약 내가 font를 agnoster를 하지 않았다면, font 이름과 맞게 선택해서 진행하도록 한다.

# 복사 붙여넣기 하기
prompt_newline() {
  if [[ -n $CURRENT_BG ]]; then
    echo -n "%{%k%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR
%{%k%F{blue}%}$SEGMENT_SEPARATOR"
  else
    echo -n "%{%k%}"
  fi

  echo -n "%{%f%}"
  CURRENT_BG=''
}

# 이 부분은 prompt_newline만 추가로 넣기
## Main prompt
build_prompt() {
  RETVAL=$?
  prompt_status
  prompt_virtualenv
  prompt_context
  prompt_dir
  prompt_git
  prompt_hg
  prompt_newline
  prompt_end
}

# 여기는 원래 있던 부분
PROMPT='%{%f%b%k%}$(build_prompt) '

여기서 prompt_newline 부분을 순서를 end 위에 써야한다.

만약 순서를 바꾸게된다면 multiline이 적용되지 않는다. :wq 누르고 저장한다. 그리고 재부팅을 꼭 해줘야한다.

 

결과 화면 

옆에 test 라고 되어있는 부분이 branch 명이다. 모두 마친다면 다음과 같이 branch 명과 아주 예쁘게 나올 것이다.

뿌듯.....


 

cf ) 배경색 바꾸기

만약 배경색이 맘에 들지 않는다면, 밑의 주소에서 배경색을 한 번 바꿔보도록 한다.

https://webdir.tistory.com/546

 

터미널(CMD, WSL) 컬러셋 변경 - WSL

WSL 터미널의 색상을 변경하는 방법을 알아봅니다. 기본 윈도우즈 터미널에서 제공하는 방법과 이를 좀 더 간편화해서 제공하는 ColorTool도 사용해봅니다. WSL 터미널을 우분투처럼 WSL로 사용하는

webdir.tistory.com