Windows WSL Ubuntu 커스텀 하기

Window에서는 WSL(Windows Subsystem for Linux)를 제공합니다.
예전엔 가상환경(VM)에 리눅스를 올렸다면 지금은 손쉽게 리눅스 커널을 WSL로 접근할 수 있게 됐습니다.

그렇기 때문에 웹개발을 한다면 Window에서 개발하여 WSL에 배포 테스트를 손쉽게? 할 수 있는 환경을 구축 할 수 있습니다. 예를 들어 웹의 경우 Backend, Frontend, DB 같은 환경을 Docker로 설정하여 WSL에 올린 뒤 바로 배포가 성공했다면 이러한 설정을 그대로 AWS나 Azure에 적용할 수 있습니다.

해당 글은 단지 커스텀에 대한 이야기이지만 추후 위와 같은 방법으로 배포테스트도 한 번 다뤄볼 생각입니다.

먼저 이 글대로 설정을 마칠 경우 아래와 같은 터미널을 얻을 수 있습니다. 😮

터미널작업영상

설치 방법

1. Ubuntu 설치

Window Store에서 Ubuntu를 설치합니다. image

2. zsh 설치

  1. 먼저 ubuntu 업데이트를 진행합니다.
1
2
sudo apt-get install
sudo apt-get update
  1. zsh를 기본 셸로 설정합니다.
1
sudo chsh -s $(which zsh)
  1. 실행 시 zsh를 실행되도록 지정합니다.
1
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

3. Meslo Nerd Font 설치

  1. 해당 폰트를 사용하지 않으면 powerlevel10k 테마의 아이콘이 표시되지 않습니다.
    아래 링크를 통해 MesloLGS NF 폰트를 다운로드 받아주세요.
    romkatv/powerlevel10k image

  2. 다운받은 폰트를 Ubuntu에서 폰트를 변경합니다. 상단에서 마우스 우클릭 후 속성을 누른 뒤 폰트를 변경 할 수 있습니다. image

4. powerlever10k 설치

  1. zsh를 설치하면 oh-my-zsh라는 폴더가 생깁니다. 해당 폴더에 아래의 테마를 설치합니다.
1
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
  1. 설치 후 편집기를 이용하여 테마를 변경합니다.
1
vim ~/.zshrc
  1. 기존 테마인 ZSH_THEME=“robbyrussell"를 ZSH_THEME=“powerlevel10k/powerlevel10k” 로 변경합니다.(i를 누르면 편집이 가능하며, 수정이 완료된 뒤 ESC를 누르고 :wq 입력)
1
ZSH_THEME="powerlevel10k/powerlevel10k"

image

  1. 적용을 하셨다면 해당 창을 종료 후 다시 시작하면 아래와 같이 나오게 됩니다.
    (만약 나오지 않은 경우 명령어 source ~/.zshrc 입력) image

  2. 여기서 본인의 스타일에 맞게 ()안의 답을 선택하면 됩니다. 만약 설정을 잘못하셨거나 바꾸고 싶다면 아래의 커맨드를 입력하시면 됩니다.

1
p10k configure

5. 폴더 아이콘 테마 변경

  1. 해당 테마를 변경하기 위해서는 ruby를 설치하여 colorls를 설치해야 합니다.
1
sudo apt-get install ruby-full
  1. colorls를 설치합니다.(만약 아래의 명령어가 안되거나 우분투 20.04 이상 버전인 경우는 sudo apt install gcc make 커맨드 입력 후 다시 설치하시면 됩니다.)
1
sudo gem install colorls
  1. 설치가 완료됐으면 ~/.zshrc 가장 하단에 아래 코드를 추가합니다.
1
2
source $(dirname $(gem which colorls))/tab_complete.sh
alias ls=colorls

image

6. fzf 설치

fzf는 zsh의 확장팩? 같은 느낌입니다. 일단 속도가 매우 빠릅니다.(golang??)
터미널에서 파일검색, 명령 기록, 프로세스, 호스트 이름, 책갈피 등 다양한 기능이 있습니다.

몇가지 자주쓰는 명령어로

  • ctrl + r 커맨드에서 사용한 명령어 history 리스트 출력
  • ctrl + t 해당 폴더의 디렉토리 또는 파일 검색
  • vim $(fzf) 해당 폴더 안의 검색된 파일 열기
  • cd 스페이스 ctrl + t 검색 후 폴더 이동

이것 외에도 fzf내에서 플러그인을 설치하여 탐색기처럼 이용할 수도 있고, 프로세스 kill 등 다양한 방법이 있는데 저도 아직 제대로 활용은 못하는 것 같습니다…
이와 관련된 링크 로 대체하겠습니다. 😓

윈도우 터미널 테마 변경

WSL를 설치하면 store에 있는 윈도우 터미널도 WSL을 선택할 수 있습니다. 이와 관련하여 테마를 설정할 수 있습니다.

1. 터미널 색상 변경

기본적으로 터미널의 색을 바꾸고 싶다면 image 위와 같이 설정에 들어가서 json 파일 선택 후 defaults 제이슨 값에

1
2
3
4
"defaults": {
  // color theme
  "colorScheme": "Campbell"
},

해당 테마이름을 지정하고, profiles제이슨 항목 안에

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
"schemes": [
  {
    "name": "Campbell",
    "cursorColor": "#FFFFFF",
    "selectionBackground": "#FFFFFF",
    "background": "#0C0C0C",
    "foreground": "#CCCCCC",
    "black": "#0C0C0C",
    "blue": "#4b6ed6",
    "cyan": "#3A96DD",
    "green": "#C50F1F",
    "purple": "#881798",
    "red": "#C50F1F",
    "white": "#CCCCCC",
    "yellow": "#C19C00",
    "brightBlack": "#767676",
    "brightBlue": "#3B78FF",
    "brightCyan": "#61D6D6",
    "brightGreen": "#16C60C",
    "brightPurple": "#B4009E",
    "brightRed": "#E74856",
    "brightWhite": "#F2F2F2",
    "brightYellow": "#F9F1A5"
  }
],

이렇게 지정해주면 됩니다. 공식 사이트(링크 ) 에서도 참조하면 좋을 것 같습니다.

위와 같은 방법으로 다른 테마를 적용하고 싶다면, https://windowsterminalthemes.dev/ 에서 원하는 테마를 복사하셔도 됩니다.

2. 터미널 배경 변경

터미널 배경을 변경하고 싶으면 아래와 같이 설정해주시면 됩니다.

1
2
3
4
5
"defaults": {
  "acrylicOpacity" : 0.4,
  "backgroundImage": "D:/ProgramFiles/Images/cool-wallpaper-preview-1.jpg",
  "backgroundImageOpacity": 0.4
},

3. 글꼴 변경

해당 글꼴을 넣어줘야 powerlink10k에서 아이콘을 볼 수 있습니다.

1
2
3
4
"defaults": {
  "fontFace" : "MesloLGS NF",
  "fontSize" : 13
},

탐색기에 WSL 연결하기

  1. 탐색기 주소창에 아래의 주소값을 입력합니다.
1
\\wsl$
  1. Unbutu 폴더에서 우측마우스 클릭 후 네트워크 드라이브 연결을 선택한다.
  2. 연결 후 원하는 이름으로 변경하면 탐색기에서 WSL에 접근이 가능합니다. image

에러 관련

  1. 아래와 같은 에러가 발생하면
1
bash: ll: command not found
  1. 이렇게 명령어를 입력하면 해결됩니다.
1
2
echo "alias ll='ls -lGaf'" >> ~/.bash_profile
source ~/.bash_profile

이상으로 윈도우에서 WSL 우분투 터미널 꾸미는 방법에 대해 알아보았습니다.

Reference