WSL 개발 환경 설정

WSL 개발 환경 설정을 위한 모범 사례에 대한 단계별 가이드입니다. Ubuntu를 사용하거나 다른 Linux 배포를 설치하도록 설정할 수 있는 기본 Bash 셸 설치 명령 실행, 기본 WSL 명령 사용, Visual Studio Code 또는 Visual Studio, Git, Windows 자격 증명 관리자와 MongoDB, Postgres 또는 MySQL과 같은 데이터베이스 설정, GPU 가속 설정, GUI 앱 실행 방법을 알아봅니다.

시작하기

Linux용 Windows 하위 시스템은 Windows 운영 체제와 함께 제공되지만 사용을 시작하려면 이를 사용하도록 설정하고 Linux 배포판을 설치해야 합니다.

단순화된 --install 명령을 사용하려면 최신 Windows 빌드(빌드 20262+)를 실행해야 합니다. 버전 및 빌드 번호를 확인하려면 Windows 로고 키 + R을 선택하고, winver를 입력하고, 확인을 선택합니다. 설정 메뉴 또는 Windows 업데이트 도우미를 사용하여 업데이트할 수 있습니다.

Ubuntu 이외의 Linux 배포판을 설치하거나 이러한 단계를 수동으로 완료하려는 경우 자세한 내용은 WSL 설치 페이지를 참조하세요.

PowerShell(또는 Windows 명령 프롬프트)을 열고 다음을 입력합니다.

wsl --install

--install 명령은 다음 작업을 수행됩니다.

  • 선택 사항인 WSL 및 Virtual Machine 플랫폼 구성 요소를 사용하도록 설정합니다.
  • 최신 Linux 커널을 다운로드하여 설치합니다.
  • WSL 2를 기본값으로 설정합니다.
  • Ubuntu Linux 배포판 다운로드 및 설치(다시 부팅이 필요할 수 있음)

이 설치 프로세스 중에 컴퓨터를 다시 시작해야 합니다.

PowerShell command line running wsl --install

문제가 발생하면 설치 문제 해결 문서를 확인합니다.

Linux 사용자 이름 및 암호 설정

WSL을 사용하여 Linux 배포판을 설치하는 프로세스가 완료되면 시작 메뉴를 사용하여 배포판(기본적으로 Ubuntu)을 엽니다. Linux 배포판의 사용자 이름암호를 만들라는 메시지가 표시됩니다.

  • 사용자 이름암호는 설치하는 각각의 개별 Linux 배포에만 적용되며, Windows 사용자 이름과는 관련이 없습니다.

  • 암호를 입력하는 동안에는 화면에 아무것도 나타나지 않습니다. 이를 블라인드 타이핑이라고 합니다. 입력하는 내용을 볼 수 없습니다. 이는 완전히 정상입니다.

  • 사용자 이름암호를 만들면 해당 계정이 배포의 기본 사용자가 되고 시작 시 자동으로 로그인됩니다.

  • 이 계정은 sudo(슈퍼 사용자 작업) 관리 명령을 실행할 수 있는 Linux 관리자로 간주됩니다.

  • WSL에서 실행되는 각 Linux 배포에는 고유한 Linux 사용자 계정과 암호가 있습니다. 배포를 추가하거나, 다시 설치하거나, 다시 설정할 때마다 Linux 사용자 계정을 구성해야 합니다.

참고 항목

WSL과 함께 설치된 Linux 배포는 사용자별 설치이며 다른 Windows 사용자 계정과 공유할 수 없습니다. 사용자 이름 오류가 발생했나요? StackExchange: Linux에서 사용자 이름에 어떤 문자를 사용해야 하나요?

Ubuntu command line enter UNIX username

암호를 변경하거나 초기화하려면 Linux 배포판을 열고 passwd 명령을 입력합니다. 현재 암호를 입력하고 새 암호를 입력하라는 메시지가 표시된 다음, 새 암호를 확인하라는 메시지가 표시됩니다.

Linux 배포용 암호를 잊은 경우 다음을 수행합니다.

  1. PowerShell을 열고, wsl -u root 명령을 사용하여 기본 WSL 배포의 루트를 입력합니다.

    기본값이 아닌 배포에서 잊어버린 암호를 업데이트해야 하는 경우 Debian을 대상 배포의 이름으로 바꾼 wsl -d Debian -u root 명령을 사용합니다.

  2. WSL 배포가 PowerShell 내의 루트 수준에서 열리면 passwd <username> 명령을 사용하여 암호를 업데이트할 수 있습니다. 여기서 <username>은 암호를 잊어버린 배포 계정 사용자 이름입니다.

  3. 새 UNIX 암호를 입력한 다음, 해당 암호를 확인하라는 메시지가 표시됩니다. 암호가 성공적으로 업데이트되었다는 메시지가 표시되면 exit 명령을 사용하여 PowerShell 내에서 WSL을 닫습니다.

패키지 업데이트 및 업그레이드

배포의 기본 설정 패키지 관리자를 사용하여 패키지를 정기적으로 업데이트하고 업그레이드하는 것이 좋습니다. Ubuntu 또는 Debian의 경우 다음 명령을 사용합니다.

sudo apt update && sudo apt upgrade

Windows는 Linux 배포를 자동으로 업데이트하거나 업그레이드하지 않습니다. 이는 대부분의 Linux 사용자가 직접 제어하는 것을 선호하는 작업입니다.

추가 배포 추가

추가 Linux 배포판을 추가하려면 Microsoft Store--import 명령을 사용하거나 사용자 지정 배포판을 테스트용으로 로드하여 설치할 수 있습니다. 엔터프라이즈 회사 전체에 배포할 사용자 지정 WSL 이미지를 설정할 수도 있습니다.

Windows Terminal 설정

Windows Terminal은 명령줄 인터페이스로 모든 애플리케이션을 실행할 수 있습니다. 주요 기능에는 여러 탭, 창, 유니코드 및 UTF-8 문자 지원, GPU 가속 텍스트 렌더링 엔진, 사용자 고유의 테마를 만들고 텍스트, 색, 배경 및 바로 가기를 사용자 지정하는 기능이 있습니다.

새 WSL Linux 배포가 설치될 때마다 기본 설정에 맞게 사용자 지정할 수 있는 Windows Terminal 내부에 새 인스턴스가 만들어집니다.

특히 여러 명령줄로 작업하려는 경우 Windows Terminal에서 WSL을 사용하는 것이 좋습니다. 설정 및 기본 설정 사용자 지정에 대한 도움말은 Windows Terminal 문서를 참조하세요. 여기에는 다음이 포함됩니다.

Windows Terminal screenshot

File Storage

  • Windows 파일 탐색기에서 WSL 프로젝트를 열려면 다음을 입력합니다. explorer.exe .
    현재 디렉터리를 열려면 명령 끝에 마침표를 추가해야 합니다.

  • 사용하려는 도구와 동일한 운영 체제에 프로젝트 파일을 저장합니다.
    가장 빠른 성능 속도를 위해 Linux 명령줄(Ubuntu, OpenSUSE 등)에서 Linux 도구로 작업하는 경우 WSL 파일 시스템에 파일을 저장합니다. Windows 도구를 사용하여 Windows 명령줄(PowerShell, 명령 프롬프트)에서 작업하는 경우 파일을 Windows 파일 시스템에 저장합니다. 여러 운영 체제에서 파일에 액세스할 수 있지만 성능이 크게 저하될 수 있습니다.

예를 들어 WSL 프로젝트 파일을 저장하는 경우 다음과 같습니다.

  • Linux 파일 시스템 루트 디렉터리(\\wsl$\<DistroName>\home\<UserName>\Project)를 사용합니다.
  • Windows 파일 시스템 루트 디렉터리를 사용하지 않는 경우: C:\Users\<UserName>\Project 또는 /mnt/c/Users/<UserName>/Project$

Windows File Explorer displaying Linux storage

좋아하는 코드 편집기 설정

WSL을 사용한 원격 개발 및 디버깅을 직접 지원하므로 Visual Studio Code 또는 Visual Studio를 사용하는 것이 좋습니다. Visual Studio Code를 사용하면 WSL을 모든 기능을 갖춘 개발 환경으로 사용할 수 있습니다. Visual Studio는 C++ 플랫폼 간 개발을 위한 네이티브 WSL 지원을 제공합니다.

Visual Studio Code 사용

원격 개발 확장 팩 설치가 포함된 WSL과 함께 Visual Studio Code를 사용하여 시작하려면 이 단계별 가이드를 따릅니다. 이 확장을 사용하면 전체 Visual Studio Code 기능 집합으로 편집 및 디버깅을 위해 WSL, SSH 또는 개발 컨테이너를 실행할 수 있습니다. 서로 다른 별도의 개발 환경 간에 신속하게 전환하고 로컬 컴퓨터에 영향을 미칠 염려 없이 업데이트합니다.

VS Code가 설치되고 설정되면 다음을 입력하여 VS Code 원격 서버로 WSL 프로젝트를 열 수 있습니다. code .

현재 디렉터리를 열려면 명령 끝에 마침표를 추가해야 합니다.

VS Code with WSL extensions displayed

Visual Studio 사용

C++ 플랫폼 간 개발을 위해 WSL과 함께 Visual Studio를 사용하여 시작하려면 이 단계별 가이드를 따릅니다. Visual Studio 2022를 사용하면 동일한 Visual Studio 인스턴스에서 Windows, WSL 배포 및 SSH 연결의 CMake 프로젝트를 빌드하고 디버그할 수 있습니다.

Select a target system in Visual Studio 2022

Git으로 버전 관리 설정

이 단계별 가이드에 따라 WSL에서 Git 사용을 시작하고 , 인증을 위해 자격 증명 관리자를 사용하고, Git 무시 파일을 사용하고, Git 줄 끝을 이해하고, VS Code에 기본 제공된 Git 명령을 사용하여 프로젝트를 Git 버전 제어 시스템에 연결합니다.

Displaying git version in the command line

Docker로 원격 개발 컨테이너 설정

이 단계별 가이드에 따라 WSL 2에서 Docker 원격 컨테이너를 시작하고 Windows용 Docker Desktop을 사용하여 프로젝트를 원격 개발 컨테이너에 연결합니다.

Docker Desktop screenshot

데이터베이스 설정

이 단계별 가이드에 따라 WSL에서 데이터베이스 시작 및 프로젝트를 WSL 환경의 데이터베이스에 연결합니다. MySQL, PostgreSQL, MongoDB, Redis, Microsoft SQL Server 또는 SQLite로 시작합니다.

Running MongoDB in Ubuntu via WSL

더 빠른 성능을 위해 GPU 가속 설정

이 단계별 가이드에 따라 WSL에서 GPU 가속 기계 학습 교육을 설정하고 컴퓨터의 GPU(그래픽 처리 장치)를 활용하여 성능이 높은 워크로드를 가속화합니다.

Running GPU acceleration with WSL

기본 WSL 명령

WSL을 통해 설치하는 Linux 배포판은 PowerShell 또는 Windows 명령 프롬프트(CMD)를 사용하여 가장 잘 관리됩니다. WSL을 사용할 때 익숙해져야 할 기본 명령 목록은 WSL 명령 참조 가이드를 참조하세요.

또한 많은 명령이 Windows와 Linux 간에 상호 운용 가능합니다. 몇 가지 예는 다음과 같습니다.

  • Windows 명령줄에서 Linux 도구 실행: PowerShell을 열고 다음을 입력하여 Linux ls -la 명령을 사용하여 C:\temp>의 디렉터리 콘텐츠를 표시합니다. wsl ls -la

  • Linux 및 Windows 명령 혼합: 이 예에서는 Linux 명령 ls -la를 사용하여 디렉터리의 파일을 나열한 다음 PowerShell 명령 findstr을 사용하여 "git"이 포함된 단어에 대한 결과를 필터링합니다. wsl ls -la | findstr "git". 이는 Windows dir 명령과 Linux grep 명령을 혼합하여 수행할 수도 있습니다. dir | wsl grep git.

  • WSL 명령줄에서 직접 Windows 도구 실행: <tool-name>.exe 예를 들어, .bashrc 파일(Linux 명령줄이 시작될 때마다 실행되는 셸 스크립트)을 열려면 다음을 입력합니다. notepad.exe .bashrc

  • Linux Grep 도구를 사용하여 Windows ipconfig.exe 도구 실행: Bash에서 명령을 ipconfig.exe | grep IPv4 | cut -d: -f2 입력하거나 PowerShell에서 Enter를 입력 ipconfig.exe | wsl grep IPv4 | wsl cut -d: -f2 합니다. 이 예제에서는 현재 TCP/IP 네트워크 구성 값을 표시하는 데 사용되는 Windows 파일 시스템의 ipconfig 도구를 보여 줍니다. 그런 다음 Linux 도구인 grep를 사용하여 IPv4 결과로만 필터링됩니다.

외장형 드라이브 또는 USB 탑재

WSL 2에서 Linux 디스크 탑재 시작에 대한 단계별 가이드를 따릅니다.

wsl mount command screenshot

Linux GUI 앱 실행

이 자습서에 따라 WSL에서 Linux GUI 앱을 설정하고 실행하는 방법을 알아봅니다.

추가 리소스

  • Windows에서 개발 환경 설정: React, Python, NodeJS, Vue 등과 같이 기본 설정 언어 또는 프레임워크에 맞게 개발 환경을 설정하는 방법에 대해 자세히 알아봅니다.
  • 문제 해결: 일반적인 문제, 버그 보고 위치, 새 기능 요청 위치 및 문서에 기여하는 방법을 찾습니다.
  • FAQ: 질문과 대답 목록을 찾습니다.
  • 릴리스 정보: WSL 릴리스 정보에서 지난 빌드 업데이트 기록을 검토합니다. WSL Linux 커널의 릴리스 정보도 찾을 수 있습니다.