다음을 통해 공유


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 배포판 다운로드 및 설치(다시 부팅이 필요할 수 있음)

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

문제가 발생하면 설치 문제 해결 문서를 확인하세요.

Linux 사용자 이름 및 암호 설정

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

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

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

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

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

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

참고

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

Ubuntu 명령줄에 UNIX 사용자 이름 입력

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

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

  1. PowerShell을 열고 wsl -u root 명령을 실행하여 기본 WSL 배포의 루트 디렉터리에 접속합니다.

    기본이 아닌 배포판에서 잊어버린 암호를 업데이트해야 하는 경우, 명령어 wsl -d <DistroName> -u root을(를) 사용하고 <DistroName>을(를) 대상 배포판의 이름으로 바꾸세요.

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

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

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

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

sudo apt update && sudo apt upgrade

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

추가 배포판 추가

추가 Linux 배포판을 추가하려면 Microsoft Store--import 명령을 사용하거나 사용자 지정 배포판을 사이드로드하여 설치할 수 있습니다. 기업 전체에 배포할 사용자 지정 WSL 이미지를 설정할 수도 있습니다.

Windows Terminal 설정

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

새 WSL Linux 배포가 설치될 때마다 Windows Terminal 내부에 기본 설정에 따라 사용자 지정할 수 있는 새 인스턴스가 생성됩니다.

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

Windows Terminal screenshotWindows Terminal 스크린샷

파일 저장소

  • 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 storageWindows 파일 탐색기에서 Linux 스토리지 표시

좋아하는 코드 편집기 설정

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

Visual Studio Code 사용

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

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

현재 디렉터리를 열려면 명령 뒤에 반드시 마침표를 추가하세요.

WSL 확장이 표시된 VS Code

Visual Studio 사용

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

Visual Studio 2022에서 대상 시스템 선택

Git으로 버전 관리 설정

이 단계별 가이드를 따라 WSL에서 Git 사용을 시작하고, 자격 증명 관리자를 사용하여 인증을 수행하며, Git 무시 파일을 사용하고, Git의 줄 끝을 이해하며, VS Code에 내장된 Git 명령어를 사용하여 프로젝트를 Git 버전 제어 시스템에 연결하세요.

명령줄에서 git 버전 표시하기명령줄에서 git 버전 표시하기

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

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

Docker Desktop screenshotDocker Desktop 스크린샷

데이터베이스 설정

이 가이드를 따라 WSL에서 데이터베이스 설정하기를 시작하고, WSL 환경에서 프로젝트를 데이터베이스에 연결하세요. MySQL, PostgreSQL, MongoDB, Redis, Microsoft SQL Server 또는 SQLite로 시작합니다.

Running MongoDB in Ubuntu via WSLWSL을 사용하여 Ubuntu에서 MongoDB 실행

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

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

Running GPU acceleration with WSLWSL로 GPU 가속 실행

기본 WSL 명령

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

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

  • Windows 명령줄에서 Linux 도구를 실행하려면: PowerShell을 열고 다음 명령을 입력하여 C:\temp 디렉터리의 내용을 Linux ls -la 명령을 사용하여 표시하십시오: wsl ls -la

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

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

  • Windows ipconfig.exe 도구를 Linux Grep 도구와 함께 실행하기: Bash에서는 명령 ipconfig.exe | grep IPv4 | cut -d: -f2 을 입력하고, PowerShell에서는 ipconfig.exe | wsl grep IPv4 | wsl cut -d: -f2 를 입력합니다. 이 예제는 Windows 파일 시스템에서 ipconfig 도구를 사용하여 현재 TCP/IP 네트워크 구성 값을 표시한 다음, Linux 도구인 grep를 사용해 IPv4 결과만 필터링하는 방법을 보여줍니다.

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

단계별 가이드를 따라 WSL 2에서 Linux 디스크를 탑재하는 방법을 시작하십시오.

wsl mount command screenshotwsl 탑재 명령 화면 캡처

Linux GUI 앱 실행

이 자습서를 따라 WSL에서 Linux GUI 앱을 설정하고 실행하는 방법을 배우세요.

추가 리소스