윈도우 10/11 환경에서 리눅스(wsl2)의 zsh 꾸미기

개발의 반은 환경 구성이죠~!
윈도우 10/11에서 wsl2 zsh 환경 꾸미는 과정을 소개 합니다.

쉘 구성 결과

다 설치하고 나서의 윈도우 터미널 wsl2 쉘 모습입니다.


이제 달려보시죠~!

CPU 가상화

CPU 가상화가 설정 되어야 윈도우내 리눅스 가상화 설치가 가능합니다.
마더보드 제조사별 bios에서 설정이 가능하며, 몇몇 유명한 마더보드사의 설정 링크는 아래와 같습니다.

이외 다른 CPU나 마더보드의 설정이 필요하시면 “AMD/INTEL gigabyte 가상화 bios” 등으로 검색해 보세요.

Windows terminal 설치

Windows Store에서 windows terminal 검색하여 설치 합니다.

wsl2 설치 준비

cmd.exe를 관리자 모드로 실행합니다.
Untitled 2

Windows Subsystem for Linux 활성화

Windows Subsystem for linux 기능을 활성화 합니다.

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

Virtual Machine 활성화

가상 머신 기능을 활성화 합니다.

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

필요에 따라 리부팅 하셔야 됩니다.

wsl2 설치

설치 가능한 wsl 리스트 확인

wsl --list --online

Untitled 3
리스트 중 Ubuntu를 설치 하겠습니다.

wsl --install -d Ubuntu

Ubuntu 환경 설정


계정과 비밀번호 입력후 쉘을 종료합니다.

윈도우 터미널 설정

실행 창에서 wt를 입력하여 윈도우 터미널을 실행합니다.
image

기본 터미널을 wsl2로 변경

Untitled 5


앞으로 wsl2를 자주 쓰실 생각이시면 윈도우 터미널 설정에서 기본 프로필을 Ubuntu로 변경해주세요.

zsh

zsh 설치

기본 쉘 bash가 아닌 화려한 zsh을 설치 하고 기본 쉘을 변경해 보겠습니다.

sudo apt-get update
sudo apt install zsh

oh my zsh 설치

zsh을 더욱 편리하게 꾸며줄 oh my zsh를 설치합니다.

sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"

설치 후 zsh로 기본 쉘 변경 확인 창이 뜨시면 변경해주시면 됩니다.

powerlevel10k

powerlevel10k 폰트 설치

zsh상에서 git의 브랜치 상태 표시, 폴더 아이콘들이 포함되어 있는 MesloLGS NF 폰트를 설치합니다.
MesloLGS NF Regular.ttf 다운로드 후 설치
https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS NF Regular.ttf

폰트 변경

이제 wsl2의 폰트를 변경해 보겠습니다.
다음의 절차대로 진행해주세요.

powerlevel10k 설치

zsh의 아주 인기 있는 테마로 powerlevel10k를 설치 해 보겠습니다.

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k
echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >>~/.zshrc

Powerlevel10k 설정

Windows terminal 종료 후 다시 실행하여 wsl2 쉘에 진입하면, powerlevel10k 설치 위저드가 시작됩니다.


위 그림처럼 다이아몬드가 보이지 않으신다면 앞에 말씀드린 폰트를 설치하고, 설정해주세요.

  • 잘 보인다면 y 선택

Untitled 9
위 그림처럼 Unicode를 선택해야 나머지 옵션들을 원할히 선택할 수 있습니다.

oh my zsh 확장 설치

Auto Suggestions

command 입력시 이전에 입력한 비슷한 command를 제안해주는 확장입니다.
Untitled 10

Auto Suggestions 설치

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

autosuggestions 설정

vim으로 zsh 설정을 편집합니다.

vim ~/.zshrc

plugins를 찾아 i를 눌러 편집 모드에서 아래 그림과 같이 개행 또는 스페이스로 구분하여 zsh-autosuggestions 을 추가하고 :wq로 저장합니다.


터미널 재시작 또는 source ~/.zshrc 커맨드로 zsh 설정을 갱신합니다.

Syntax Highlighting

command 입력시 command 유효 여부에 따라 색상을 달리 표시해줍니다.
Untitled 12

Syntax Highlighting 설치

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

Syntax Highlighting 설정

vim으로 zsh 설정을 편집합니다.

vim ~/.zshrc

plugins를 찾아 i를 눌러 편집 모드에서 아래 그림과 같이 개행 또는 스페이스로 구분하여 zsh-syntax-highlighting 을 추가하고 :wq로 저장합니다.
Untitled 13
터미널 재시작 또는 source ~/.zshrc 커맨드로 zsh 설정을 갱신합니다.
이외에도 다양한 플러그인이 있으니 “oh my zsh plugins”로 검색해 보시면 좋을 듯 합니다.

colorls 설치

디렉토리 표시를 이쁘게 변경하기 위해 colorls를 설치 해 보겠습니다. 어디까지나 선택입니다.
colorls는 ruby 기반이라 ruby를 먼저 설치 해야 합니다.

sudo apt install ruby ruby-dev ruby-colorize
sudo apt install build-essential
sudo apt install libncurses5-dev
sudo gem install colorls

모두 설치가 완료 되었다면 colorls로 디렉토리가 예쁘게 변경된 모습을 확인합니다.
Untitled 15

ls, ll 명령어 변경

개인 취향이며 기본 ls, ll을 colorls로 대체합니다.
vim으로 zsh 설정을 편집합니다.

vim ~/.zshrc

맨 아래 다음 문구를 적은 후 :wq로 저장합니다.

alias ls='colorls'
alias ll='colorls -lA --sd'

터미널을 다시 시작하거나 source ~/.zshrc로 설정을 갱신합니다.
ls 또는 ll 명령어 입력시 colorls가 적용되었는지 확인합니다.
Untitled 16
고생하셨습니다~! 이제 설치가 완료 되었습니다.

참고

좋아요 9

하다가 안되시거나 오탈자, 개선했으면 하는 내용 있으시면 말씀해주세요~

좋아요 3

와우! 귀한 글 잘 보겠습니다!

좋아요 3

^^/

좋아요 3

금방 하셨네요 미션 완료 ~! :smile:

좋아요 3

오…윈도우 터미널도 이뻐서 만족해버리고 쓰고 있었는데 더 이쁘게 할 수 있었군요

좋아요 3

와 다들 먼저 앞서나가고 계시네요~!!
좋은 글 감사합니다.

좋아요 3

윈도우 터미널 기본 프로필 설정하실 때 시작 디렉터리를 \\wsl$\<배포판 이름>\<홈 디렉터리 경로>로 잡아주시면 실제 리눅스 환경에 더 가깝게 쓸 수 있습니다. 예를 들어 Ubuntu-20.04를 설치하셨다면, wsl -l -v 명령으로 <배포판 이름> (기술적인 이름)을 확인하실 수 있습니다.

WSL은 윈도우 위에 올라가는 시스템이라는 특성이 있어, 이 설정이 되어있지 않으면 윈도우 쪽 홈 디렉터리로 기본 설정이 가게 되다보니 불편한 점이 있더라고요. ㅎㅎ

그리고 한국 WSL 사용자 그룹도 제가 같이 운영자로 참여하고 있고, 시간을 내서 아래 가이드를 만들어 운영하고 있기도 합니다.

https://wslhub.com/wsl-firststep/

좋아요 3

안녕하세요…
다시 전부 초기화 하고 싶은데 어떻게 하면 할 수 있을까요…? ㅠㅠ

좋아요 2

Powershell로 삭제하는 법

GUI로 삭제하는 법

안되시면 말씀해주세요~

좋아요 1