윈도 작업 환경을 기록한다

walk-through
pc-install
Windows와 Linux의 컬래버
Author

JS HUHH

Published

November 3, 2023

TL; DR

윈도우에서 WSL(WIndows Subsystem for Linux) 작업 환경을 만드는 방법을 기록한다. 내용은 변화에 따라서 조금씩 변해갈 것이다.

넋두리

앞서 윈도에 관한 여러 포스트를 게재했다. 그런데 그 내용 중에서 이제는 쓰지 않는 것도 있다. 이 글은 ’현재’를 바라보면서 윈도에서 어떤 작업환경을 유지하고 있는지를 기록하는 내용이다.

앱 설치 관리자

🔗 윈도 스토어 앱설치 관리자

winget으로 소프트웨어를 설치하고 관리하려면 “마이크로소프트 스토어”에서 앱설치 관리자를 설치하자. 꼭 winget을 깔아야 하는 것은 아니지만, 터미널에서 일관되게 관리할 수 있어서 꽤 편리하다.

winget으로 설치할 수 있는 소프트웨어 확인은 아래 웹 사이트를 참고하자.

https://winget.run/

# 윈도 앱 설치 목록 
> winget install -e --id Microsoft.PowerToys # 키보드 리매핑
> winget install -e --id Microsoft.PowerShell
> winget install -e --id GitHub.GitHubDesktop
> winget install -e --id Microsoft.VisualStudioCode

터미널

터미널 앱은 당연히 윈도 터미널을 써야 한다. 다른 OS의 터미널 앱과 비교해도 이 만큼 편리하고 다재다능한 앱이 없다. 최근 윈도11 버전에는 기본으로 탑재가 되어 있다. 몇 가지 팁만 짚고 넘어가자.

  • Font는 Hack Nerd Font를 쓰자. 여기서 다운받자.
  • 최근 버전에서는 settings.json 파일 고치지 않고도 UI를 통해 쉽게 설정을 바꿀 수 있다. 여기서 테마, 폰트 등을 바꾸면 된다.
  • 셸 공통 설정 뿐 아니라 개별 셸 설정도 세부적으로 지정할 수 있다.

WSL

윈도에서 개발 환경은 WSL을 쓰도록 하자. 네이티브 개발 환경도 사실 상당히 괜찮다. 하지만 아래와 같은 이유로 WSL을 쓰는 편이 조금 낫다고 본다.

  • 윈도의 레거시 요소(인코딩) 등이 방해하는 경우가 없지 않더라.
  • WSL이 원본에 접근한 리눅스 환경을 제공한다. 여전히 많은 개발 환경들이 리눅스를 기초로 제공된다. 좋은 리눅스 환경이 있는데 쓰지 않을 이유가 있을까?
  • WSL은 리눅스의 GUI도 제공하고 있다. 만일 리눅스 GUI 환경이 필요하다면 윈도 내에서 그냥 쓰면 된다.

리눅스를 개발환경으로 쓴다고 해서 그 불편함까지 감수해야 하는 것은 아니다. 네이티브 환경의 UI/UX 및 필요한 앱들은 그대로 활용하면 된다. VS Code룰 통해 리눅스 환경에 원격 접속해 편리하게 코딩을 할 수 있고, 윈도 탐색기에서 리눅스 OS 안의 폴더로 접근할 수도 있다.

설치

과거 윈도11 버전에서는 WSL 기능을 활성화한 후 배포판을 별도로 다운로드 받아서 설치했다. 이제는 아래 명령어를 통해서 WSL 기능을 활성화하고 Ubuntu 디폴트 배포판까지 한번에 설치할 수 있다.

> wsl --install

디폴트 배포판을 바꾸는 법, 배포판을 삭제하는 방법 등은 아래 링크를 참고하자.

🔗 WSL MS 공식 설치 가이드

# WSL 관련 명령어
> wsl --list --online # or wsl -l -o 설치 가능한 배포판 조회 
> wsl --install -d <Distribution Name> # 특정 배포판 설치 
> wsl --unregister <Distribution Name> # 특정 배포판 삭제

Ubuntu 관리 및 필수 앱 설치

아래 링크를 참고하자.

🔗 Ubuntu를 깔고 먼저 해야 할 일들

VS Code

VS 코드는 이 협업의 핵심이다. VS 코드는 윈도에 있다. 하지만 이 녀석은 WSL의 리눅스와 윈도를 긴밀하게 연결한다. WSL 내 위치하는 어떤 폴더에서 코딩 작업을 하고 싶다면, WSL이 활성화된 터미널에서 아래와 같이 실행하자.

# 원하는 폴더 내에서 
> code . 

이 명령어는 파일 > 작업 영역에 폴더 추가를 한방에 실행해준다. 해당 폴더가 작업 영역에 추가되기 때문에 여러가지 작업을 편리하게 진행할 수 있다. 이렇게 윈도의 ’호사’와 함께 리눅스 환경의 코딩 작업이 가능하다.