WSL2 설치하고 Windows Terminal 테마 입히기

Home

Windows Subsystem for Linux 2

목차

WSL1 환경 구성이 아직 되지 않았다면 Windows 10 Bash로 Ubuntu 개발환경 구성하기 게시글을 먼저 확인해주세요.


WSL2 설치 후 WSL1에서 WSL2로 Update

Windows10 최신 Update (Windows 빌드 19041이상에서 사용 가능)

만약 현재 버젼이 해당 버젼이상이라면 그냥 진행하셔도 괜찮습니다.

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를 기본 버전으로 설정


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
},



Reference