Windows Subsystem for Linux 2
목차
WSL1 환경 구성이 아직 되지 않았다면 Windows 10 Bash로 Ubuntu 개발환경 구성하기 게시글을 먼저 확인해주세요.
WSL2 설치 후 WSL1에서 WSL2로 Update
Windows10 최신 Update (Windows 빌드 19041이상에서 사용 가능)
만약 현재 버젼이 해당 버젼이상이라면 그냥 진행하셔도 괜찮습니다.
- Windows10 최신 Update https://www.microsoft.com/ko-kr/software-download/windows10
WSL 설치
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart # WSL 설치
WSL2 업데이트
# Windows 가상 머신 활성화
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
# '가상 머신 플랫폼' 옵션 구성 요소 사용
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
WSL2 커널 설치
- WSL2 커널 수동 Update https://docs.microsoft.com/ko-kr/windows/wsl/wsl2-kernel
WSL2를 기본 버전으로 설정
wsl --set-default-version 2
Update된 리눅스 커널들 WSL2 버전으로 Update
wsl -l -v
# 해서 나온 Update를 원하는 커널을 밑에 Ubuntu 자리에 대입
wsl --set-version Ubuntu 2
주요 차이점
WSL 2 아키텍처
- 전체 Linux 커널 (docker 사용 가능!)
요약
기능 | WSL1 | WSL2 |
---|---|---|
Windows와 Linux 통합 | O | O |
빠른 부팅 시간 | O | O |
작은 리소스 공간 | O | O |
관리 VM | X | O |
전체 Linux 커널 | X | O |
전체 시스템 호출 호환성 | X | O |
VMWare 및 VirtualBox를 사용하여 실행 | O | X |
OS 파일 시스템 간 성능 | O | X |
더 빠른 성능을 위해 Linux 파일 시스템 사용
- /mnt/wsl/ 에 공간이 생기게 됩니다. (Windows는 모르는 공간)
Windows Terminal 사용 후 테마 입히기
여기서부터는 Windows Termianl에 대한 추가적인 커스텀 세팅을 하실 분에게만 해당됩니다. 테마는 oh-my-posh를 사용합니다.
Windows Terminal
microsoft store
에서 다운 받아주세요.
oh-my-posh theme
chocolatey install
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
install package
choco install microsoft-windows-terminal
install target
Install-Module posh-git -Scope CurrentUser
Install-Module oh-my-posh -Scope CurrentUser
enable the prompt:
# Start the default settings
Set-Prompt
# Alternatively set the desired theme:
Set-Theme Agnoster
troubleshooting
여기서 혹시 권한 문제 걸릴 경우 아래를 참고해주세요.
Get-ExecutionPolicy
# 아마 restricted
Set-ExecutionPolicy RemoteSigned
Get-ExecutionPolicy
# 확인 RemoteSigned
PSReadLine 설치
Install-Module -Name PSReadLine -AllowPrerelease -Scope CurrentUser -Force -SkipPublisherCheck
엔진 활성화를 위한 PS 프로필 편집
if (!(Test-Path -Path $PROFILE )) { New-Item -Type File -Path $PROFILE -Force }
notepad $PROFILE
enable the prompt
Import-Module posh-git
Import-Module oh-my-posh
Set-Theme Paradox
나머지 환경 설정
유니코드 설정
$ThemeSettings.GitSymbols.BranchSymbol = [char]::ConvertFromUtf32(0xE0A0)
테마 용 가상 머신이 아닐 때 유저 도메인을 숨겨주는 옵션
$DefaultUser = 'yourUsernameHere'
Windows Terminal Application Font 설정
- 오른쪽 설정 칸 들어가면
settings.json
파일 열림 - 밑에 처럼 D2로 추가!
"defaults":
{
// Put settings here that you want to apply to all profiles.
"fontFace": "D2Coding",
"fontSize":12
},