Windows Subsystem Linux

  • 최근 Microsoft의 행보를 보면 옛날같지 않은 모습들을 보이고 있습니다. 새롭게 출시한 Microsoft Edge 브라우저를 비롯하여 Windows를 사용하기 편해지는 느낌을 받습니다. (실제로 Microsoft Edge 브라우저 출시 이후 제 컴퓨터에서 Chrome 브라우저를 삭제했습니다.)

  • WSL2(Windows Subsystem Linux 2)는 이전 버전인 WSL 1보다 많은 기능이 추가되었습니다.

    • WSL2로 생성한 Linux에서 Windows GPU를 사용할 수 있습니다. (업데이트 예정)
      • CUDA on WSL User Guide를 보면 WSL2에 NVIDIA Driver와 CUDA를 설치하는 방법이 나와있습니다.
      • 하지만 이 방법은 Windows 10 20145 (또는 그 이상) OS 빌드 버전에서 사용 가능합니다.
      • Windows 10 Insider 프로그램에 참가하면 Windows 10 Preview 버전을 받을 수 있습니다.
    • 새로운 WSL2 Linux 커널로 성능이 향상되었습니다.
    • 자세한 내용은 WSL2와 WSL 1 비교 문서를 통해 확인할 수 있습니다.
  • WSL2를 사용하려면 최신 Windows 10 버전을 사용해야 합니다.

    • Windows 10 Pro 권장 (Home 버전에서 WSL2 설치에 애를 먹는 경우를 보았습니다.)
    • Windows 10 2004 버전 이상

WSL2 설치 방법

  1. Linux용 Windows 하위 시스템 옵션 기능 활성화
1
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  1. 가상 머신 플랫폼 옵션 활성화
1
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  1. 컴퓨터 재부팅
  2. WSL2를 기본 버전으로 설정
1
wsl --set-default-version 2

Microsoft Store에서 Linux 설치

  • Microsoft Store은 Windows 환경에서 유용한 어플리케이션을 제공합니다.
  • (추천) Windows Terminal은 Windows에서 사용 가능한 Shell 환경을 제공합니다.
    • 상단 탭 바를 사용하면 Windows PowerShell과 WSL2 Terminal을 하나의 어플리케이션에서 사용할 수 있습니다.
  • Ubuntu 20.04 LTS를 다운로드 합니다. 만약 다른 Linux 배포판을 설치하고 싶으면 해당 배포판을 검색하여 다운로드 합니다.
  • 새로 설치된 Linux 배포판을 실행하여 사용자 계정비밀번호를 설정합니다. Ubuntu 사용자 계정 및 비밀번호 설정 화면
  • Windows Terminal을 실행하여 상단 탭에 아래 화살표 버튼을 누릅니다. Windows Terminal Ubuntu 실행
  • WSL 1 버전을 WSL2 버전으로 변경 및 설치 오류와 같은 이슈는 공식 문서인 Windows 10에 Linux용 Windows 하위 시스템 설치 가이드를 확인해주세요.

Visual Studio Code로 WSL2 연결하기

  • Visual Studio Code는 다양한 기능을 가진 텍스트 편집기입니다.

  • 이 글은 WSL2 - Ubuntu 환경에서 Visual Studio Code로 Remote 연결하여 작성하고 있습니다. (Hexo 블로그 빌드를 Ubuntu 환경에서 진행하고 있습니다.)

  • Visual Studio Code에서 Remote - WSL 확장 프로그램을 설치합니다.

  • Ctrl + Shift + P 키를 입력하여 Remote-WSL: New Window를 실행합니다.

  • WSL2 환경의 새로운 Visual Studio Code가 실행됩니다. (Visual Studio Code의 내장 Terminal도 Ubuntu의 Bash Terminal로 자동 인식합니다.)

기타 사항

WSL2 드라이브 연결

  • Windows 탐색기를 열고 주소 창에 //wls$를 입력하면 설치한 Linux 배포판의 네트워크 디렉토리가 보입니다.
  • 해당 디렉토리를 우클릭 하고 네트워크 드라이브에 연결 버튼을 클릭하면 네트워크 위치에 등록됩니다.
  • 해당 디렉토리에 폴더 또는 파일을 복사하면 WSL2 환경으로 복사됩니다.

WSL2 Docker 연결

VS Code - Remote WSL 접속 실패 시 재시작 방법

  • VS Code를 사용하여 Remote - WSL 사용 시 연결 실패하는 경우가 종종 있습니다.
  • Windows WSL을 재시작하여 문제를 해결합니다.
1
wsl --shutdown
  • 또는 특정 배포판을 종료할 수 있습니다.
1
wsl -t <distro name>