윈도 작업 환경을 기록한다
TL; DR
윈도우에서 WSL(WIndows Subsystem for Linux) 작업 환경을 만드는 방법을 기록한다. 내용은 변화에 따라서 조금씩 변해갈 것이다.
넋두리
앞서 윈도에 관한 여러 포스트를 게재했다. 그런데 그 내용 중에서 이제는 쓰지 않는 것도 있다. 이 글은 ’현재’를 바라보면서 윈도에서 어떤 작업환경을 유지하고 있는지를 기록하는 내용이다.
앱 설치 관리자
winget으로 소프트웨어를 설치하고 관리하려면 “마이크로소프트 스토어”에서 앱설치 관리자를 설치하자. 꼭 winget을 깔아야 하는 것은 아니지만, 터미널에서 일관되게 관리할 수 있어서 꽤 편리하다.
winget으로 설치할 수 있는 소프트웨어 확인은 아래 웹 사이트를 참고하자.
# 윈도 앱 설치 목록 > 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 관련 명령어> wsl --list --online # or wsl -l -o 설치 가능한 배포판 조회
> wsl --install -d <Distribution Name> # 특정 배포판 설치
> wsl --unregister <Distribution Name> # 특정 배포판 삭제
Ubuntu 관리 및 필수 앱 설치
아래 링크를 참고하자.
VS Code
VS 코드는 이 협업의 핵심이다. VS 코드는 윈도에 있다. 하지만 이 녀석은 WSL의 리눅스와 윈도를 긴밀하게 연결한다. WSL 내 위치하는 어떤 폴더에서 코딩 작업을 하고 싶다면, WSL이 활성화된 터미널에서 아래와 같이 실행하자.
# 원하는 폴더 내에서
> code .
이 명령어는 파일 > 작업 영역에 폴더 추가
를 한방에 실행해준다. 해당 폴더가 작업 영역에 추가되기 때문에 여러가지 작업을 편리하게 진행할 수 있다. 이렇게 윈도의 ’호사’와 함께 리눅스 환경의 코딩 작업이 가능하다.