Windows환경에서 WSL2 Ubuntu에 맥os 터미널처럼 꾸미기 (oh-my-zsh)

varcode·2021년 10월 30일
4

개발환경

목록 보기
1/5
post-thumbnail

우선 on-my-zsh를 설치하기 전에 사전에 작업이 필요합니다.

Windows Terminal 설치 및 기본 터미널 설정

  • microsoft store에서 Windows Terminal을 설치

Ubuntu 설치 ( 2가지 방법 존재 )

  • microsoft store에서 Ubuntu 설치하는 방법
  • wsl 명령어로 설치하는 방법
# Linux 배포판 목록 조회
$ wsl --list --online
$ wsl -l -o

# 기본 Linux 배포판은 ubuntu
$ wsl --install
# 특정 Linux 배포판 설치
$ wsl --install -d <Distribution Name>
  • Window Terminal을 키면 바로 Ubuntu 터미널이 나오도록 설정합니다.
    Ctrl+, 누르시고 설정창에서 기본 프로필을 Ubuntu로 바꿔주세요.

이 부분은 색상 꾸미는거라 스킵하셔도 됩니다.
Ctrl+, - 색 구성표 - One Half Dark 선택

      터미널 색상                  시스템 색
검정  #282C34  |  #5A6374         전경 #DCDFE4
빨강  #E06C75  |  #E06C75         배경 #282C34
녹색  #93BF77  |  #6E8F59
노랑  #E5C07B  |  #E5C07B
파랑  #4D8ABD  |  #61AFEF
보라  #C678DD  |  #C678DD
녹청  #46949E  |  #56B6C2
흰색  #DCDFE4  |  #DCDFE4

프로필-Ubuntu-모양

powerline 적용시 글자 깨짐 방지를 위해 Fira code를 설치하여 적용하였습니다
powerline이 적용되는 글꼴 아무거나 하셔도 무방합니다~

ubuntu 기본 사용자 계정 설정

$ ubuntu config --default-user <username>

사용자 계정에 sudo 권한주기

$ sudo -s
$ usermod -aG sudo <username>
$ su <username>

wsl2 배포판 삭제하기

필요 없는 wsl2 배포판이 설치 되어 삭제하고 싶다면

# 설치된 배포판 목록
$ wsl -l
# 배포판 기본값 설정
$ wsl s Ubuntu
# 삭제
$ wsl --unregister <삭제할 배포판 이름>

zsh 설치

$ sudo apt update
$ sudo apt install zsh -y

# zsh 버전 확인
$ zsh --version

# 기본 쉘을 zsh로 변경
$ chsh -s `which zsh`
or
$ chsh -s $(which zsh) 
or 
$ chsh -s /usr/bin/zsh

Ubuntu 터미널을 새로 여시고 아래 화면처럼 나오면 Enter를 누르시고,

현재 터미널이 zsh로 나오는지 확인

echo $SHELL
/usr/bin/zsh

oh-my-zsh 설치

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

or

$ sudo apt install curl
$ curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh

agnoster 테마 적용

$ cd
$ vi ~/.zshrc
# i를 누르고 편집이 끝나면 
# ESC 클릭 - :wq를 입력하시고 Enter로 저장 후 빠져나옵니다.
ZSH_THEME="agnoster"

사용자 이름만 표시하기

$ vi ~/.zshrc

# 맨 마지막 줄에 입력합니다

prompt_context() {
  if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
    prompt_segment black default "%(!.%{%F{yellow}%}.)$USER"
  fi
}

zsh-syntax-highlighting 설정

linuxbrew 패키지 설치

$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"

$ echo 'eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)' >>~/.bash_profile
$ eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)
$ cd ~/.oh-my-zsh/plugins
$ git clone https://github.com/zsh-users/zsh-syntax-highlighting.git

// add line in ~/.zshrc
$ vi ~/.zshrc
$ echo "source ${(q-)PWD}/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc

$ vi ~/.zshrc
plugins=(git zsh-syntax-highlighting)

//apply change 
$ source ~/.zshrc

multiline (prompt newline & cursor)

$ vi ~/.oh-my-zsh/themes/agnoster.zsh-theme

prompt_newline() {
  if [[ -n $CURRENT_BG ]]; then
    echo -n "%{%k%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR
%(?.%F{$CURRENT_BG}.%F{red})❯%f"

  else
    echo -n "%{%k%}"
  fi

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

## Main prompt
build_prompt() {
  RETVAL=$?
  prompt_status
  prompt_virtualenv
  prompt_aws
  prompt_context
  prompt_dir
  prompt_git
  prompt_bzr
  prompt_hg
  prompt_newline
  prompt_end
}

zsh-autosuggestions ( 자동완성 )

$ cd ~/.oh-my-zsh/plugins
$ git clone https://github.com/zsh-users/zsh-autosuggestions.git
$ echo "source ${(q-)PWD}/zsh-autosuggestions/zsh-autosuggestions.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc 

$ vi ~/.zshrc
plugins=(git zsh-syntax-highlighting zsh-autosuggestions)

$ source ~/.zshrc

profile
백엔드와 Rust가 취미인 프론트엔드 개발자

0개의 댓글