Windows Subsystem for Linux(WSL), 이제 오픈소스로 전환
(blogs.windows.com)- Microsoft는 WSL 전체를 오픈소스로 전환했다고 발표했으며, 이는 Microsoft/WSL 저장소의 첫 번째 이슈였던 “오픈소스가 될까요?”에 대한 응답이기도 함
- GitHub의 Microsoft/WSL에서 소스를 내려받고 직접 빌드하거나 기능을 추가하고 버그를 수정할 수 있음
- 공개된 코드는 커맨드라인 도구, 서비스, Linux용 데몬, Plan9 기반 파일 공유 서버까지 포함함
- WSL은 Windows 실행부와 리눅스 가상머신(VM) 내에서 동작하는 여러 컴포넌트로 구성됨
-
CLI 도구:
wsl.exe
,wslconfig.exe
,wslg.exe
-
WSL 서비스: VM 부팅, 배포판 실행, 파일 공유 등을 담당하는
wslservice.exe
-
Linux 데몬:
init
,gns
,localhost
등 네트워크 및 포트 포워딩 기능 수행 - Plan9 서버: Windows와 Linux 간 파일 공유 역할
-
CLI 도구:
- 기존에 오픈소스로 공개된 구성요소
- WSLg: Wayland 및 X 서버를 지원하는 그래픽 환경 관련 구성요소
- WSL2-Linux-Kernel: 리눅스 커널 소스
- 아직 오픈되지 않은 구성요소
-
Lxcore.sys
: WSL1의 핵심 드라이버 -
P9rdr.sys
,p9np.dll
: Windows에서\\wsl.localhost
경로를 지원하는 파일 리다이렉션 시스템
-
오픈소스 전환 배경과 WSL의 역사
- WSL은 2016년 BUILD에서 처음 발표되어 Windows 10 Anniversary Update에 포함됨
- WSL1은 Windows 커널 내에서 Linux syscalls를 처리하는
lxcore.sys
기반의 구조였음 - WSL2는 2019년 처음 발표되었고, 실제 리눅스 커널을 활용해 호환성과 기능을 개선함
- 이후 GPU 지원, GUI 앱 실행(wslg),
systemd
지원 등 기능이 추가되며 성장함 -
2021년부터는 Windows에서 분리된 독립 패키지로 Microsoft Store를 통해 제공됨
- 첫 릴리스는 0.47.1 (프리뷰), 이후 2022년 1.0.0에서 Windows 10까지 지원 확대
-
Windows 11 24H2부터는 기존 내장 WSL에서 새로운 패키지 기반 WSL로 전환됨
-
wsl.exe
는 그대로 남겨 사용자 전환을 지원함
-
최신 버전 및 기능
- 최신 릴리스는 WSL 2.5.7, 4년간 약 9페이지 분량의 GitHub 릴리스를 통해 개선되어 옴
- 주요 개선점에는 미러 네트워킹, DNS 터널링, Session 0, 프록시/방화벽 지원 등이 포함됨
커뮤니티의 기여
- 수년간 커뮤니티는 버그 리포팅, 기능 제안, 비공식 분석 등으로 WSL 개선에 기여해 옴
- 소스 코드 공개 이전에도 실질적인 기여가 활발했고, 이제는 직접적인 코드 기여가 가능해짐
- Microsoft는 이 커뮤니티의 지원에 감사하며, 앞으로도 WSL의 발전에 더 큰 시너지를 기대하고 있음
기여 방법
- 소스 구조나 기능 구현이 궁금하거나 개선하고 싶은 점이 있다면
- microsoft/WSL 저장소에서 참여 가능함
- 직접 빌드, PR 제출, 이슈 리포팅 등 다양한 방식으로 기여 가능함
WSL1은 크로스 개발 환경에 최고의 머신입니다. IO도 빠르며 리눅스 기반의 명령어도 바로바로 수행가능합니다. WSL2는 1보다 크로스 컴파일이 느립니다.
Hacker News 의견
-
나는 Hacker News에서 WSL에 대한 칭찬 댓글을 남길 때마다 카르마 세금을 내는 기분을 느끼는 입장임. WSL은 하나의 컴퓨터에서 여러 리눅스 버전을 동시에 아주 쉽게 구동할 수 있기 때문에, Linux보다 더욱 강력하다는 인상임. docker와 같은 장치 지원, 로컬 스토리지, 네트워크 맵핑 등 특수 스크립트 없이도, 데스크탑이나 노트북에서 추가 설정 없이 바로 사용 가능한 점이 정말 큰 매력이라고 생각함. 예를 들어 한 프로젝트는 Ubuntu22, 다른 프로젝트는 Ubuntu24가 필요해도, 운영체제 업데이트 걱정에 매달릴 필요가 없는 즐거움임
-
"Linux보다 더 강력하다"는 말은 과장이며, 사실 WSL은 가상머신임. WSL의 주요 강점은 각종 편의 기능 자동화 제공임. 하지만 진짜로 더 편리한 환경은 아예 가상머신이 필요 없는 환경이라고 주장함. Distrobox와 toolbx 같은 툴도 비슷한 기능을 제공하고, NixOS에서도 간편하게 일반 Linux 환경 테스트가 가능함. 여기에 하드웨어 가속, 그래픽 앱이 바로 동작함, 느린 9p 브리지 문제가 없으며, VM의 메모리 버블같은 이슈가 발생하지 않음. Windows 사용자를 위해 WSL이 혁신적이긴 하지만, Linux 유저는 그런 VM이 필요 없어 그렇다는 의견임
-
Linux에서도 Distrobox로 같은 걸 구현할 수 있지만, Windows + WSL을 같이 운용할 수 있다는 점이 확실히 매력임을 인정함. 만약 Microsoft가 불필요한 소프트웨어와 광고, Copilot, 과도한 원격 측정 등을 줄인 Dev 에디션을 출시하고, macbook 같은 하드웨어를 제공한다면, Apple에서 떠나는 개발자를 충분히 다시 유치할 수 있을 것이라 생각함. 개인적으로 Mac과 Linux 환경을 왔다갔다 하면서, 사용성 면에서는 Windows + WSL 조합이 더 선호되는 면이 있다고 밝힘. PowerToys, WSL, PowerShell, 그리고 PowerShell + Winget DSC를 통한 PC 셋업 자동화 등이 정말 뛰어나지만 Windows의 사용자 불친절함과 지나치게 긴 업데이트 시간은 도저히 참을 수 없다는 고충을 설명함. macOS처럼 불변(immutable) 베이스에 이미지 기반 업데이트를 도입한다면 더 좋겠다는 제안임. M4 Pro 랩탑급 성능이 없는 점도 Windows 쪽이 아쉬운 이유로 들었음
-
"WSL이 Linux보다 더 강력하다"는 주장은 카르마가 깎일 만한 발언이라고 생각함. WSL도 좋고, 매일 사용하지만, 지원되는 하드웨어에서 리눅스를 실행하면 그 경험이 더 뛰어난 것이 사실임. VM이 네이티브만큼 좋을 수 없듯, 반대로 Windows 소프트웨어도 Windows에서 더 잘 동작하는 것과 같음. 비교했을 때 WSL은 입출력이 느리고, 그래픽도 지연 및 오류가 있고, 때로는 크래시, 비효율적인 메모리 관리, 네트워크 이상 등 다양한 문제가 발생함을 경험함. 매우 강력한 컴퓨터에서 CLI 위주로 쓴다면 WSL이 편할 수 있지만, 실제로는 사람마다 필요한 환경에 따라 다름을 강조함
-
WSL은 사실 Linux임. 특히 WSL2부터는 아예 VM구조로 들어갔고, WSL1은 윈도우 커널에서 구동되는 방식이어서 멋졌다 평가함. 다만 NTFS 파일시스템이 느리고, Windows 자체를 다뤄야 한다는 점이 크게 불만임. 카르마 숫자는 그냥 숫자라고 여기니 신경 쓰지 않는다는 코멘트
-
내게는 WSL이 꽤 불안정하고, 컴퓨터가 슬립에서 깨어날 때마다 VM과 호스트 간 네트워크 문제로 재시작이 필수적임. Windows 사용자 디렉토리에서 작업하면 파일시스템 드라이버의 느린 속도 때문에 git 명령이 몇 초씩 걸려서, 결국 두 개의 홈 디렉토리를 관리하게 되는 번거로움이 생김. 셋업 과정에서도 복잡한 DNS, VPN, 네트워크 우선순위 오류, 시간 동기화 불일치 등 해결해야 할 비밀스러운 문제들이 많았음. 결국 매번 Windows를 재부팅하는 일상이 되어버림. 나는 여러 운영체제를 쓸 필요가 없고, 회사에서도 대부분 도구가 Linux VM에서 돌아가며, 그런 방식이 유일하게 합리적임. 겉 운영체제는 오히려 문제만 만들고, 두 운영체제의 상호작용 때문에 필요 이상으로 복잡한 작업을 요구한다는 견해임
-
-
나는 WSL이 처음 출시됐을 때 굉장히 기뻤음. 게임과 개발을 하나의 Windows PC에서 통합해 쓰자는 꿈이 현실이 되는 느낌이었음. 하지만 시간이 지날수록, 패키지 설치 문제, OS 간 경계 이슈 등 여러 자잘한 문제가 늘어나서 점점 과정이 거칠어졌음. Valve의 Proton과 최신 Linux 게임 지원이 향상되면서 Ubuntu와 NixOS로 완전히 전환함. 이제 게임 쪽에서 약간 불편함이 있지만, 개발 환경은 오히려 훨씬 쾌적하다는 만족감을 느끼는 중임. 일부 AAA 게임이 동작하지 않는 점 빼고는 Windows + WSL보다 더 좋은 경험이라고 생각함
-
나도 비슷한 경험을 했으며, 이제는 리눅스 설치가 오히려 더 쉬워진 입장임. Windows의 스파이웨어 기능들로 인해 사용할 이유가 더 줄어들고 있다고 생각함
-
단, Nvidia 그래픽카드를 쓰는 경우는 예외라고 봄
-
어떤 게임에서 문제가 있었는지 궁금하다는 질문
-
대부분이 이런 경험을 해봤다고 생각함. 현재 Windows가 게임(GPU)이 아니었다면 존재감이 별로 없었을 것이고, 과거 프로젝트에서는 msvc, cygwin, msys2 등으로 빌드 환경을 바꿔가며 혼란을 겪던 과정도 회상함. 이제는 WSL로도 일정 부분 쉽게 빌드가 가능하지만, 환경 변수 하나 바꾸는 과정까지 피로감을 느끼며 다시는 이런 방식을 반복하고 싶지 않다고 말함
-
-
나는 오히려 리눅스에서 Windows를 가상머신으로 사용하는 방식을 추천함. Windows에서 리눅스를 쓰고 싶어질 때가 있다면, 아예 리눅스로 전환해버리고, 되돌아볼 일이 없다는 신념임. 지난 15년간 Windows로 돌아간 적 없음. 지금의 Windows 현실을 고려하면 심지어 VM에서도 쓰기 망설여지는 수준임
-
GPU 관련 작업(게임, Adobe suite 등)에선 VM에서 Windows를 실행하려면 별도의 GPU를 VM에 패스스루 해야 하고, 이게 없는 사용자는 가속 없는 환경을 감수해야 하므로 VM 방식이 쉽지 않다는 입장임. Photoshop을 QEMU QXL 드라이버로 돌리면 성능이 형편없고, VirGL은 아예 Windows 게스트를 지원 안함. VMWare, VirtualBox는 약간 나은데, 그래도 네이티브에 미치지 못함
-
대부분의 Windows 관련 스레드에서 생산성 앱 때문에 Windows가 필수인 사람들과, 그렇지 않은 사람들의 분명한 단절을 인식한다고 생각함. 나처럼 GPU 관련 생산성 앱을 쓰는 경우, VM으로는 불가능하고 결국 Windows를 네이티브로 써야 한다는 주장임. 가벼운 앱만 쓰는 이용자라면 가상머신으로도 충분하지만, CAD나 게임 같은 본격적인 작업에는 적합하지 않다고 판단함
-
수년간 리눅스만 썼다가 Windows, 이후 Mac으로 다시 돌아온 입장임. wine 호환성 문제, 미완성 소프트웨어 대안(예: GIMP의 Photoshop 대체 불가), Qt와 GTK 앱 혼용으로 인한 데스크탑 미관 붕괴 등, 리눅스가 만능은 아니라고 지적함
-
반론으로, Valve Index 같은 VR 기기는 이런 환경(즉, Linux에서 Windows VM 구동)에서 전혀 제대로 동작하지 않는다는 경험 기반 의견임. 어릴 때부터 Linux 하드코어 유저였지만, 이런 특수한 예외들도 존재하니 무조건적인 일반화는 어렵다는 입장임
-
관련 정보로, Windows를 평가판 VM 이미지로 배포하는 공식 링크를 소개하며, 평가판 만료시 데스크탑이 검은색으로 변하고, PC가 매시간마다 꺼지는 등 제약이 있음을 알림. 최신 평가판 이미지는 6개월 이상 업데이트되지 않았고, 등록하면 ISO는 제공된다는 안내임
-
-
이름이 Windows subsystem for Linux라서 항상 헷갈림. 얼핏 보면 무슨 Wine의 공식 버전 같은 오해를 받기 쉽고, 사실은 Linux를 위한 Windows의 서브시스템이 맞음. 마치 Microsoft가 Linux에 기능을 주는 것처럼 들려 언짢음
-
Microsoft가 'Linux'를 시작으로 프로젝트 이름을 붙일 수 없기 때문에 결국 WSL이라는 이름을 썼다고 밝힘
-
과거에 Windows Subsystem for Unix라는 프로젝트에서 유래한 네이밍임. 이름이 항상 기대와는 어긋나게 동작했다고 함
-
Windows의 Linux용 서브시스템이라는 중의적인 개선안을 재치 있게 제안
-
Windows에서 Linux를 구동하기 위한 서브시스템이지만 네이밍이 헷갈린다는 점 동의
-
-
나는 최근 몇 년간 가끔씩 WSL로 개발을 해왔음. 잘 동작할 때는 최고지만, 한번 꼬이면 정말 악몽임. 네트워크, VPN, XServer, 윈도우 스케일링, 하드웨어 가속 그래픽 등에서 끊임없는 문제가 있었음. 실제로 개발하는 시간보다 문제 해결에 더 많은 시간을 쓴 느낌이고, 개선이 이뤄진 적이 없었음. WSL은 빠르고 강력하지만, 일상적으로 쓰기에는 나에겐 너무 힘든 환경임. 대신 MSYS2를 주력으로 쓰고 있는데, 속도는 느리지만 최소한 안정적이라는 점이 가장 큰 장점임
- 나는 아직도 WSL 베타 버전을 쓰고 있는데, 업데이트하면 지금 잘 동작하는 환경이 망가질까 봐 업그레이드도 못 하는 상태임
-
지난주 기록적 실적 발생 후에도 마이크로소프트 대규모 정리해고가 있었는데, 이런 현상이 그 부작용인지 궁금함
-
대기업에서 3% 규모의 정리해고는 전체 혹은 무언가 프로젝트를 아예 없앨 경우가 아니면, 사실상 아무 영향도 없는 수준이라 생각함. 오히려 대기업엔 인원 과잉이 흔해서 이 정도는 아무것도 아니라고 단언함
-
이런 대기업의 오픈소스화 결정, 준비, 실행은 절대 1-2주 안에 진행될 수 없는 대규모 프로젝트임
-
이번 Build 행사 및 관련 뉴스에 대해 지금의 전반적 분위기에서는 긍정적으로만 보기 힘들다는 우려를 표명함
-
발표대로라면 오랜 기간 준비해 온 결과라서 최근의 정리해고와는 무관하다는 설명에 동의함
-
-
WSL 1을 동작시키는 주체인 kernel side driver lxcore.sys는 이번 오픈소스 대상에 포함되지 않음을 알림. 그리고 WSL 1이 아직도 지원되고 있다는 점에 놀랐으며, 유지보수 모드일 거라 예상함
-
내가 진짜 관심 있는 부분은 lxcore.sys 뿐임. 나는 아직도 WSL1만 사용하며, ABI를 넘나들거나 Windows를 Linux 유저스페이스로 터널링하는 독특한 해킹도 해봄. 오픈소스로 더 쉽게 다룰 수 있기를 희망함
-
실제론 WSL1, WSL2 모두 완전히 지원받고 있다고 들음. 숫자상 차이와는 다름
-
-
라이선스 및 세부 내용 확인이 필요함. 긍정적일 수도 있지만, MS가 개발자 해고 이후 무료 도움을 요청하는 명분일 수도 있다고 의심함
- 라이선스는 MIT임을 안내함
-
나는 Windows 사용자는 아니지만 WSL을 훌륭하다고 평가함. 하지만 많은 Windows 사용자들이 Linux를 비판하는 가장 큰 이유가, "Windows처럼 보이지 않는다"는 점이고, Linux 사용자 입장에서는 오히려 Linux가 Windows처럼 보이지 않아서 더 좋음. Windows 사용자가 무료로 광고 없는 Windows를 원하는 욕심에 Linux를 윈도우화하지 않길 바람. WSL이 Windows 사용자들을 Windows에 남겨두는 효과가 있다면 오히려 더 반김
- 나는 Windows 사용자가 아니지만 WSL 자체를 싫어함. Microsoft가 개발자 세대를 Linux로 잃을까 봐, 아예 OS 안에 Linux를 포함시킨 전략으로 보임. 개발자가 직접 커널을 리컴파일하며 체험하는 즐거움을 잃게 만든 것이라고 아쉽게 생각함
-
WSL 안에서 Windows 파일시스템 작업할 때 생기는 버그들이 이제라도 빨리 고쳐졌으면 한다는 바람 가져봄
- Microsoft 역시 그러길 바란다고 생각함