- WSL2를 사용하면 Windows 내에서 완벽한 Linux 시스템을 사용할 수 있으며, 이를 Zsh와 결합하여 강력하고 현대적인 터미널을 만들 수 있습니다.
- Windows Terminal, Nerd Fonts, 및 Oh My Zsh는 사용자 지정 테마, 아이콘, 플러그인 및 별칭을 통해 시각적 및 기능적 환경을 향상시켜 줍니다.
- 부트스트랩 스크립트, dotfiles 및 개발 컨테이너를 사용하면 전체 개발 팀의 환경을 쉽게 자동화하고 버전 관리할 수 있습니다.
- VS Code 및 NVM, Conda, BAT, LSD, FZF와 같은 도구와의 통합을 통해 안정적이고 재현 가능한 워크플로를 구축할 수 있습니다.
만약 당신이 발전한다면 Windows에서 Node.js 또는 Python을 사용하는데 Linux의 편리함을 원하시나요? 기존에 사용하던 게임, 도구, 작업 방식을 그대로 유지하면서 WSL2와 Zsh를 조합한다면, 바로 여러분이 찾던 최적의 환경일 것입니다. 강력한 터미널과 모든 것이 완벽하게 자동화된 진정한 리눅스 배포판을 사용하면, 개발 환경 설정이 더 이상 명령어를 복사하는 데 몇 시간을 허비하는 고된 작업이 아닙니다.
이 가이드에서는 상당한 주의와 세부 사항을 통해 다음 사항들을 확인하실 수 있습니다. Zsh와 Oh My Zsh를 사용하여 WSL2 환경을 완벽하게 자동화하는 방법Windows 터미널 및 Visual Studio Code와 통합하는 방법, 그리고 이를 스크립트 및 dotfile로 패키징하여 여러분(또는 팀원)이 몇 분 만에 동일한 설정을 재현할 수 있도록 하는 방법을 알려드립니다. 목표는 설정에 시간을 덜 쓰고 마음껏 코딩하는 데 더 많은 시간을 투자하는 것입니다.
WSL2란 무엇이며 Zsh와 함께 사용할 가치가 있는 이유는 무엇입니까?
WSL(Windows Subsystem for Linux)은 Windows 환경에서 Linux를 실행할 수 있도록 해주는 계층입니다. 무거운 가상 머신이나 듀얼 부팅 없이도 가능합니다. 마이크로소프트는 WSL2를 통해 한 단계 더 나아가 자체적으로 실행 가능한 환경을 구축했습니다. Hyper-V를 사용한 전체 Linux 커널리소스 소모가 매우 적고 성능은 네이티브 설치와 거의 동일합니다.
덕분에 가능해요 Ubuntu, Debian, Kali 또는 Alpine과 같은 배포판을 설치하세요. Microsoft Store에서 직접 또는 PowerShell 명령을 사용하여 Linux 파일 시스템, apt 패키지, 개발 도구, 그리고 물론 고급 셸을 이용해 보세요. Zsh 와 오 마이 Zsh 그리고 그 플러그인들.
몇 년 동안, 윈도우 기반 프로그래밍은 매력적이지 않았다.bash가 없고, 불편한 파일 시스템과 부족한 기본 개발 도구 때문에 대부분의 사람들은 Linux나 macOS로 옮겨갔습니다. 하지만 WSL2 덕분에 상황이 완전히 달라졌습니다. Windows를 그대로 사용하면서도 다양한 개발 도구를 활용할 수 있게 된 것입니다. 마치 리눅스 배포판을 사용하는 것처럼 작업합니다.거의 모든 설정 과정을 자동화할 수 있는 가능성을 제공합니다.
WSL2와 Zsh를 결합하는 것의 장점은 바로 이것입니다. Zsh는 기존 bash보다 훨씬 뛰어난 터미널 환경을 제공합니다.고급 자동 완성, 제안 기능, 테마, Git 통합, NVM 플러그인, 별칭, 구문 강조 표시 등 한 번 사용해 보면 쉽게 잊을 수 없는 다양한 기능이 있습니다.
Windows 10 또는 11에 WSL2를 설치하고 준비합니다.
자동화 설정을 세밀하게 조정하기 전에, WSL2가 활성화되어 있고 Linux 배포판이 설치되어 있어야 합니다.오늘날의 과정은 초기 버전보다 훨씬 간단해졌으며, 거의 모든 작업을 단일 명령으로 수행할 수 있습니다.
En 최근 Windows 10(버전 2004 이상) 또는 Windows 11PowerShell을 관리자 권한으로 실행하기만 하면 됩니다(시작 메뉴에서 PowerShell을 검색하고 마우스 오른쪽 버튼을 클릭한 후 "관리자 권한으로 실행"을 선택하세요).
wsl --install
이 명령어는 다음을 담당합니다. 필요한 선택적 기능을 활성화합니다.다운로드하세요 리눅스 커널, 설정 WSL2를 기본 버전으로 사용 기본적으로 설치됩니다 Ubuntu 배포 형식으로 진행됩니다. 프로세스가 완료되면 시스템에서 변경 사항을 적용하기 위해 컴퓨터를 다시 시작하라는 메시지가 표시됩니다.
다른 배포판을 선호하는 경우 명령 자체에 지정할 수 있습니다. 예를 들어 Debian을 설치하려면 다음과 같이 하면 됩니다.
wsl --install -d Debian
언제든지 할 수 있습니다 설치된 배포판의 상태와 버전을 확인하세요. 과 :
wsl -l -v
만약 다른 배포판으로 바꾸거나 더 이상 사용하지 않는 배포판을 정리하고 싶다면 다음과 같은 옵션이 있습니다. 온라인에서 이용 가능한 배포판 목록을 작성하세요. 또는 특정 설치를 제거합니다.
wsl -l -o
wsl --unregister Ubuntu-20.04
배포판을 처음 실행할 때 텍스트 기반 마법사가 나타나서 다음 사항을 묻습니다. UNIX 사용자 계정을 생성하고 해당 사용자의 암호를 설정하세요.해당 사용자가 WSL 내에서 기본 사용자가 될 것이며, 일반적인 HOME 경로는 다음과 같습니다. /home/tuusuario그리고 관리자 작업을 할 때 사용자 이름과 비밀번호를 사용해야 하므로 반드시 적어두는 것이 중요합니다. sudo.
WSL2에서 작동하도록 Windows 터미널을 구성합니다.
WSL2를 설치하고 실행한 후에는 다음 단계로 넘어가는 것이 논리적입니다. Windows 터미널을 사용하여 Windows의 명령줄 환경을 개선하세요.이 애플리케이션은 탭, 패널, 테마, 투명도, 배포판별 프로필, 아이콘이 포함된 글꼴 등 다양한 기능을 지원합니다.
Windows 터미널을 다음에서 설치하세요. 마이크로 소프트 스토어 WSL을 실행하면 기본적으로 PowerShell 또는 CMD 프로필이 표시됩니다. 탭 드롭다운 화살표에서 사용 중인 WSL 배포판(Ubuntu, Debian 등)을 선택하여 새 탭에서 열 수 있습니다.
에 WSL에서 사용하는 Ubuntu 또는 다른 배포판은 항상 기본적으로 열립니다.설정을 편집할 수 있습니다. Windows 터미널은 설정을 JSON 파일에 저장하며, 설정 메뉴에서 해당 파일에 접근할 수 있습니다. 해당 필드를 찾으세요. "defaultProfile" 그리고 놓으세요 우분투 프로필 GUID (목록에서 확인하실 수 있습니다) profiles) 값으로.
그 외에도, 당신은 할 수 있습니다 색상 테마를 사용자 지정하고 아크릴 투명도를 추가하세요. 좀 더 현대적인 느낌을 주기 위해서요. 예를 들어, 해당 부분에서요. "defaults" 프로필의 경우 다음과 같이 정의할 수 있습니다.
"defaults": {
"useAcrylic": true,
"acrylicOpacity": 0.4
}
색상을 더욱 다양하게 활용하고 싶다면 다음을 추가할 수 있습니다. 사용자 지정 계획 섹션에서 "schemes" JSON에서 배경색, 전경색 및 기본 터미널 팔레트를 정의합니다. 일반적인 예로는 Solarized 테마가 있으며, 해당 테마에 속성을 사용하여 WSL 프로필을 연결할 수 있습니다. "colorScheme" : "wsl" 해당 프로필에서.
WSL2에 Zsh 및 Oh My Zsh 설치 및 자동화하기
WSL과 Windows 터미널의 기본 구성이 완료되었으니, 이제 셸에 알찬 기능을 추가해 볼 차례입니다. Zsh는 bash보다 훨씬 강력한 대안입니다.그리고 ~와 결합됨 오 마이 Zsh 터미널에서 Git, Node, Python 등 거의 모든 작업을 처리할 수 있는 만능 도구가 됩니다.
WSL 배포판(예: Ubuntu)에서 다음으로 시작하세요. 저장소를 업데이트하고 필수 패키지를 최소한으로 설치하세요.:
sudo apt update
sudo apt install git zsh -y
그런 다음 공식 스크립트를 사용하여 Oh My Zsh를 설치하고, 이 스크립트의 이점을 활용하십시오. 설치 프로그램을 다운로드하려면 curl을 사용하십시오. 그리고 직접 실행하세요:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
설치 과정에서 원하시는지 여부를 묻는 메시지가 나타납니다. Zsh를 기본 셸로 설정합니다.그에게 "네"라고 대답하세요. 만약 수동으로 작업해야 할 경우, 다음 방법을 사용할 수 있습니다.
chsh -s /bin/zsh
완료되면 HOME 디렉터리에 구성 파일이 생성됩니다. ~/.zshrc플러그인, 테마, 별칭, 환경, 라우팅 등 모든 것이 제어되는 곳…
Oh My Zsh에서 매우 인기 있는 테마는 다음과 같습니다. 아그노스터Git 정보를 명확하게 표시하는 데 중점을 둡니다. 활성화하려면 파일을 편집하세요. ~/.zshrc 선호하는 편집기를 사용하여 (예: vi ~/.zshrc o nano ~/.zshrc그리고 제목이 다음과 같이 표시되는지 확인하세요:
ZSH_THEME="agnoster"
또한 bash와 Zsh 모두에서 다음 사항을 권장합니다. Linux HOME 디렉터리에서 셸이 시작되도록 강제합니다. (Windows 사용자 폴더가 아닌) WSL은 배포판의 기본 파일 시스템 내에서 훨씬 더 잘 작동하기 때문입니다. 단순히 다음 내용을 끝에 추가하기만 하면 됩니다. ~/.zshrc 간단한 한 줄:
cd ~
Nerd Fonts와 Powerline: 터미널의 아이콘과 미적 요소
Zsh와 Oh My Zsh 트랙이 의도한 대로 보이려면, 특수 아이콘과 기호를 지원하는 글꼴이 필요합니다. (이러한 글꼴을 너드 폰트 또는 파워라인 폰트라고 합니다.) 이 글꼴을 사용하지 않으면 고급 프롬프트에서 이상한 사각형이나 깨진 문자가 나타날 수 있습니다.
일반적으로 두 가지 옵션이 있습니다. 설치하는 것입니다. 클래식 파워라인 전원 공급 패키지 또는 특정 너드 폰트를 선택할 수도 있습니다. 메슬로LGS NF o 해킹 너드 폰트빠른 방법은 Windows의 PowerShell에서 Powerline 글꼴 저장소를 복제하는 것입니다. 먼저 빈 폴더로 이동하십시오.
git clone https://github.com/powerline/fonts.git
cd fonts
.\install.ps1
설치 스크립트는 자동으로 여러 글꼴을 시스템에 추가합니다. 그런 다음 Windows 터미널 설정에서 설치된 글꼴 중 하나를 선택하세요. 예를 들어 WSL 프로필의 경우:
"fontFace": "DejaVu Sans Mono for Powerline"
좀 더 현대적인 느낌을 원하시면 Nerd Font(예: )를 다운로드하실 수 있습니다. MesloLGS NF Regular.ttfNerd Fonts 웹사이트에서 해당 글꼴 파일을 다운로드하여 Windows에 설치하려면 두 번 클릭하고 "설치"를 선택한 다음 Windows 터미널 프로필에서 해당 글꼴을 선택하십시오.
고급 테마를 사용하는 경우, 예를 들어 파워레벨10kNerd Fonts 테마 사용을 적극 권장합니다. 이 테마를 설치하려면 WSL 사용자 계정에서 다음 단계를 따르세요.
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k
echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >> ~/.zshrc
Zsh를 다시 로드한 후 (zsh 터미널을 닫았다가 다시 열면 안내 마법사가 실행됩니다.p10k configure프롬프트를 원하는 대로 사용자 지정하려면 파일을 생성하세요. ~/.p10k.zsh 모든 설정이 완료된 상태입니다.
Zsh에 유용한 플러그인: 즉각적인 생산성 향상
Oh My Zsh의 큰 장점 중 하나는 바로 이것입니다. 이 프로그램을 사용하면 플러그인을 매우 쉽게 추가할 수 있습니다. 업무 환경을 개선하기 위해 WSL2 개발 환경에서 가장 일반적으로 사용되는 기능은 다음과 같습니다.
플러그인 자식 이 기능은 기본적으로 활성화되어 있으며, 표시하는 역할을 합니다. 현재 어떤 브랜치에 계신가요? 보류 중인 변경 사항이 있나요? 커밋되지 않은 변경 사항이 있나요?…모든 정보가 프롬프트에 바로 표시됩니다. 탐색 중에 저장소 상태를 확인하기에 완벽합니다.
또 다른 고전은 zsh-자동 제안사용자의 검색 기록을 바탕으로 회색으로 명령어를 제안하며, 키 입력으로 제안을 수락할 수 있습니다. 똑같은 긴 조합을 반복해서 쓰는 것을 피하세요.. 설치하려면 :
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.zsh/zsh-autosuggestions
또한 적극 권장합니다 zsh 구문 강조 표시명령어의 철자가 맞는지, 가리키는 파일이 존재하는지 등에 따라 색상을 지정하여 사용자가 쉽게 명령어를 찾고 작업을 진행할 수 있도록 도와줍니다. Enter 키를 누르기 전에 구문 오류를 감지합니다.:
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.zsh/zsh-syntax-highlighting
이 플러그인들을 활성화하려면, 다음 내용을 끝에 추가하세요. ~/.zshrc 다음과 같은 것:
source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
source ~/.zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
또 다른 매우 실용적인 추가 기능은 다음과 같습니다. 오 마이 Zsh sudo 플러그인예를 들어, 키 조합을 눌러 특정 작업을 수행할 수 있습니다. 마지막 명령어 앞에 "sudo"를 빠르게 추가하세요. 실행 중입니다. 다음과 같이 다운로드할 수 있습니다.
mkdir -p ~/.zsh/sudo-plugin && cd ~/.zsh/sudo-plugin
wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/plugins/sudo/sudo.plugin.zsh
그리고 해당 항목을 추가하여 활성화하세요. ~/.zshrc:
source ~/.zsh/sudo-plugin/sudo.plugin.zsh
향상된 명령줄 도구(BAT, LSD, FZF, HTTPie)
터미널을 수정하는 김에 몇 가지 프로그램을 설치해 보는 것도 좋겠습니다. 기존 유틸리티에 대한 현대적인 대안 으로 cat o ls검색 도구와 사용자 친화적인 HTTP 클라이언트도 포함되어 있습니다.
BAT 이것은 "프로" 버전입니다. cat,와 구문 강조, 번호 매기기, Git 연동터미널에서 코드 파일을 직접 읽기에 이상적입니다. GitHub에서 해당 패키지를 다운로드하여 (사용하는 아키텍처에 맞게 수정하여) 설치할 수 있습니다.
wget https://github.com/sharkdp/bat/releases/download/v0.20.0/bat_0.20.0_amd64.deb
sudo dpkg -i bat_0.20.0_amd64.deb
워크플로에 통합하려면 다음에서 별칭을 만들 수 있습니다. ~/.zshrc 그래서 글을 쓸 때 cat 실제로는 BAT에 전화했지만, 기존 유틸리티에 대한 단축 기능을 유지했습니다.
alias cat='/bin/bat'
alias catn='/bin/cat'
alias catnl='/bin/bat --paging=never'
그 부분은, 엘에스디 대체 ls 와 색상, 아이콘 및 훨씬 더 읽기 쉬운 출력BAT와 유사한 방식으로 설치됩니다.
wget https://github.com/Peltoche/lsd/releases/download/0.21.0/lsd_0.21.0_amd64.deb
sudo dpkg -i lsd_0.21.0_amd64.deb
그런 다음 일반적인 별칭을 재정의하여 디렉터리를 정렬하거나, 세부 정보를 표시하거나, 숨기는 등의 작업을 수행할 수 있습니다. 예를 들면 다음과 같습니다.
alias ll='lsd -lh --group-dirs=first'
alias la='lsd -a --group-dirs=first'
alias l='lsd --group-dirs=first'
alias lla='lsd -lha --group-dirs=first'
alias ls='lsd --group-dirs=first'
터미널 내에서 대화형 검색을 하려면, FZF 거의 필수적입니다. 점진적 검색 엔진을 출시합니다 이 도구는 히스토리, 경로 및 기타 명령과 통합됩니다. 저장소를 복제하고 설치 스크립트를 실행하여 설치할 수 있습니다.
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install
설치 프로그램이 귀하의 시스템에 추가됩니다. ~/.zshrc el source 상응하는 (예를 들어) [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh) 모든 것이 준비되도록 합니다. 다음과 같은 단축키를 사용하여 활성화할 수 있습니다. CTRL + T.
마지막으로, API를 다루는 업무를 하신다면, HTTPie 이는 훨씬 더 편안한 경험을 제공합니다. curl,와 색상으로 구분된 출력과 가독성이 뛰어난 구문해당 저장소를 추가하고 사용하면 설치할 수 있습니다. apt:
curl -SsL https://packages.httpie.io/deb/KEY.gpg | apt-key add -
curl -SsL -o /etc/apt/sources.list.d/httpie.list https://packages.httpie.io/deb/httpie.list
apt update
apt install httpie
apt upgrade httpie
WSL2의 Node.js, NVM, Python 및 기타 도구
이 모든 작전을 수립한 주요 이유 중 하나는 다음과 같은 일을 할 수 있도록 하기 위함입니다. Node.js, Python 및 기타 기술을 위한 견고한 환경을 구축하기 위해간단하고 재현 가능한 버전 관리 기능을 갖추고 있습니다. 바로 이 부분에서 그 진가가 발휘됩니다. NVM Node.js용 도구와 Python용 Conda 같은 도구.
Node의 경우 이상적인 사용 방법은 다음과 같습니다. NVM(노드 버전 관리자)이를 통해 여러 버전을 설치하고 몇 가지 명령으로 버전 간 전환이 가능합니다. WSL2에서 다음 명령으로 NVM을 설치할 수 있습니다.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | zsh
다음으로 Node를 설치하세요(현재 안정 버전 또는 특정 버전).
nvm install node
nvm install 18.17.0
모든 것이 정상인지 확인하려면 일반적인 버전 검증 명령어를 사용하면 되며, 이 명령어들은 유효한 값을 반환해야 합니다.
node --version
npm --version
Zsh 셸에서 터미널을 열 때 NVM이 자동으로 로드되지 않는 경우가 있습니다. 이 문제는 다음 두 가지 방법으로 해결할 수 있습니다. 필요한 변수를 수동으로 추가하는 ~/.zshrc 또는 플러그인을 사용하여 zsh-nvm Oh My Zsh에서 가져온 것입니다. 수동 버전은 다음과 같을 수 있습니다.
export NVM_DIR=~/.nvm
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
플러그인을 선택하셨다면, 열어주세요. ~/.zshrc플러그인 줄을 찾으세요(예: plugins=(git)) 그리고 추가합니다 zsh-nvm 목록에 추가하세요. 저장 후 터미널을 다시 시작하면 NVM이 문제없이 로드될 것입니다.
파이썬의 경우, 매우 강력한 옵션은 다음과 같습니다. 콩다 (또는 미니콘다)는 다음과 같은 기능을 제공합니다. 격리된 환경을 생성하고, 종속성을 관리하고, 파이썬 버전을 관리합니다. 글로벌 시스템을 건드릴 필요 없이, WSL 구성 저장소 내에 Conda, GPU 드라이버 및 기타 구성 요소를 거의 투명하게 설치하는 자동화 스크립트가 있습니다.
스크립트, dotfiles 및 개발 컨테이너를 사용하여 구성을 자동화하세요.
지금까지는 모든 것을 "수동으로" 설정하는 방법을 살펴보았지만, 특히 팀 환경에서 좋은 업무 환경을 만드는 핵심은 바로 여기에 있습니다. 온보딩 프로세스를 자동화하고 구성 버전을 관리합니다.WSL2는 설치부터 셸 사용자 지정까지 모든 것을 패키징할 수 있기 때문에 이러한 목적에 완벽합니다.
매우 흔한 접근 방식은 다음과 같습니다. 부트스트랩 스크립트 (예를 들어 install.sh o setup.sh팀 저장소에서 다음과 같은 작업을 순차적으로 수행합니다.
- 필수 조건을 확인하세요 (Windows 버전, 활성화된 WSL2, 필요한 경우 Docker Desktop 설치 여부 등)
- WSL 배포판을 설치하거나 업데이트하세요.기본 패키지, Zsh, Oh My Zsh, NVM, Conda 등
- dotfiles를 복제하고 적용합니다. (
.zshrc,.bashrc,.gitconfig테마 파일, 공유 별칭 등). - 프로젝트 스택 도구를 설치합니다. (노드, 파이썬, 데이터베이스, 특정 CLI).
- 유효성 검사 스크립트를 구성합니다. 으로
make check-env모든 것이 정확한지 확인하기 위해서입니다.
이 스크립트들은 다음과 같아야 합니다. 멱등원즉, 이러한 명령어들은 아무런 문제 없이 여러 번 실행될 수 있어야 하며, 모든 환경 변수는 파일에 기록해 두는 것이 좋습니다. .env.example 이를 통해 각 사용자는 메인 스크립트를 건드리지 않고도 자신의 환경을 맞춤 설정할 수 있습니다.
또 다른 매우 강력한 계층은 다음과 같습니다. VS Code 개발 컨테이너 (.devcontainer이것들은 환경에 대한 선언적 설명(Dockerfile, VS Code 구성, 확장 프로그램, 포트 등)으로 구성되어 있으며, 이를 통해 각 프로젝트는 자체 개발 컨테이너를 가지고 있습니다.WSL2와 결합하면 확장 기능 덕분에 가능합니다. 원격 – WSLWSL 내의 Linux 컨테이너에서 저장소를 열면 모든 사용자가 동일한 버전과 도구를 사용할 수 있습니다.
동시에 저장소를 유지 관리하십시오. 버전 관리되는 dotfiles (예를 들어 GitHub에서) 셸 구성, 별칭, 테마 및 프로그램을 여러 컴퓨터 또는 동일한 개발자가 소유한 여러 컴퓨터 간에 공유하고 동기화하는 데 도움이 됩니다. 이러한 도구는 다음과 같은 기능을 제공합니다. 셰즈모이 또는 이를 위해 간단한 기호 복사 스크립트가 자주 사용됩니다.
WSL2와 Zsh를 Visual Studio Code와 통합하기
이 전체 환경을 가볍지만 매우 뛰어난 편집기와 통합하면 사용자 경험이 크게 향상됩니다. Visual Studio 코드. 아이디어는 VS Code는 WSL 파일 시스템을 직접 사용하여 작동합니다.성능 및 권한 문제를 방지합니다.
먼저 공식 웹사이트에서 VS Code를 Windows에 설치하세요. 그런 다음 편집기 내에서 확장 프로그램 탭(바로가기)을 엽니다. 컨트롤 + 시프트 + X) 그리고 확장 프로그램을 검색하여 설치하세요. "원격 - WSL"이 확장 프로그램을 사용하면 WSL 내에서 모든 로직이 실행되는 상태로 Linux 배포판에 있는 폴더와 프로젝트를 열 수 있습니다.
설치가 완료되면 우분투 터미널에서 다음 명령어를 실행할 수 있습니다.
code .
이렇게 하면 WSL 환경에 연결된 VS Code가 열리고, 설치된 도구에 대한 모든 권한을 갖게 됩니다. 시각적 통합을 완료하려면 다음을 수행할 수 있습니다. VS Code 통합 터미널을 구성합니다. Windows 터미널에서 선택한 것과 동일한 Nerd 글꼴을 사용하여 아이콘도 보기 좋게 표시되도록 하려면 다음 단계를 따르세요.
{
"terminal.integrated.fontFamily": "DejaVu Sans Mono for Powerline"
}
파일에서 settings.json VS Code에서는 다음과 같이 프로필을 구성하여 기본 Windows 터미널을 WSL의 Ubuntu로 설정할 수도 있습니다.
"terminal.integrated.profiles.windows": {
"Ubuntu (WSL)": {
"path": "C:\\Windows\\System32\\wsl.exe",
"args": ["-d", "Ubuntu"]
}
},
"terminal.integrated.defaultProfile.windows": "Ubuntu (WSL)"
그리고 이왕이면 활성화할 기회도 함께 활용해 보세요. 저장 시 자동 서식 지정, 괄호 쌍 색상 지정 그 외에도 에디터에서 일상적인 사용을 더욱 즐겁게 만들어주는 소소한 개선 사항들이 있습니다.
자동화 스크립트 및 완벽한 WSL2 구성 저장소
자체 스크립팅 인프라를 구축할 수도 있지만, 다른 옵션도 있습니다. 대부분의 작업을 자동화하는 미리 구축된 저장소에 의존합니다.일부는 리눅스 가이드, 터미널 유틸리티(Oh My Zsh, 플러그인, 테마), Conda, GPU 드라이버 및 데이터 과학 또는 웹 개발 환경의 기타 필수 구성 요소를 설치하는 스크립트에 중점을 둡니다.
이러한 저장소의 기본 아이디어는 명확합니다. 하나의 명령으로 Bash 스크립트를 실행합니다. 이 프로그램은 배포판을 업데이트하고, 필요에 따라 curl과 Node.js를 설치하고, NVM을 처리하고, Nerd Fonts와 같은 글꼴을 다운로드하고, Zsh에 테마와 적절한 플러그인 및 별칭 세트를 구성하여 터미널을 바로 사용할 수 있도록 준비합니다.
이 스크립트를 실행하는 동안 여러 지점에서 질문을 받게 될 것입니다. 관리자 비밀번호 의 사용으로 인해 sudo패키지가 설치되고, 시스템 경로가 수정되고, 파일이 보호된 위치로 복사되므로 이는 완전히 정상적인 현상입니다.
어떤 경우에는 그들이 당신에게 요청할 것입니다. BAT나 LSD 같은 도구의 특정 버전을 선택하세요. (예를 들어 bat_0.25.0_amd64.deb o lsd_1.1.5_amd64.deb이는 GitHub에서 사용 가능한 버전과 사용자의 컴퓨터 아키텍처(요즘 일반적인 것은...) 모두에 따라 달라집니다. amd64패키지 호환성 오류를 방지하려면 올바른 버전을 선택했는지 확인하십시오.
이러한 유형의 스크립트의 결과는 다음과 같은 환경을 생성합니다. Zsh에는 이미 파일이 있습니다. .zshrc 포괄적 인테마, 플러그인, cat/ls 명령어 별칭, 영감이 부족할 때 유용한 아이콘이 포함된 Gitmoji 커밋 통합, 구문 강조 표시, Oh My Zsh 자동 완성 기능 등 다양한 기능이 있습니다. 정말이지, 하루 종일 화면에 띄워놓고 싶은 터미널이네요.
맞춤 설정을 완료하려면 다음 단계도 수행할 수 있습니다. 테마를 조정하여 사용자 이름만 표시하고 호스트 이름은 숨기세요. 특정 테마 파일을 직접 수정하는 것, 예를 들어 agnoster.zsh-theme 경로에서 ~/.oh-my-zsh/themes해당 줄을 다음과 같이 변경합니다.
prompt_segment green black "%(!.%{%F{yellow}%}.)%n"
이 모든 것을 통해 여러분이 얻게 되는 것은 다음과 같습니다. 팀의 모든 개발자는 구성 저장소를 복제하고 명령을 실행하여 단 몇 분 만에 동일한 환경을 구축할 수 있습니다. 나머지와 달리 동일한 셸, 동일한 테마, 동일한 기본 도구 버전, 동일한 터미널 동작을 제공하며, "내 PC에서는 잘 작동하는데" 또는 "그날 뭘 설치했는지 기억이 안 나네"와 같은 문제가 발생하지 않습니다.
궁극적으로 WSL2 및 Zsh 환경을 설정하고 자동화하는 것은 여러 요소를 결합하는 작업입니다. Windows 내의 Linux 기반, Windows Terminal과 같이 잘 구성된 터미널, Oh My Zsh 및 플러그인을 사용한 강력한 셸, BAT, LSD 또는 FZF와 같은 최신 도구, NVM 또는 Conda를 사용한 버전 관리, Remote-WSL을 통한 VS Code와의 통합, 그리고 이 모든 것을 안정적으로 복제할 수 있는 스크립트와 dotfile이 필요합니다. 시간을 들여 세밀하게 조정하면, 처음부터 편안하게 프로그래밍할 수 있는 환경을 구축하는 데 몇 분밖에 걸리지 않으며, 이전에는 모든 것을 수동으로 재설치하는 데 몇 시간을 허비할 필요가 없습니다.
목차
- WSL2란 무엇이며 Zsh와 함께 사용할 가치가 있는 이유는 무엇입니까?
- Windows 10 또는 11에 WSL2를 설치하고 준비합니다.
- WSL2에서 작동하도록 Windows 터미널을 구성합니다.
- WSL2에 Zsh 및 Oh My Zsh 설치 및 자동화하기
- Nerd Fonts와 Powerline: 터미널의 아이콘과 미적 요소
- Zsh에 유용한 플러그인: 즉각적인 생산성 향상
- 향상된 명령줄 도구(BAT, LSD, FZF, HTTPie)
- WSL2의 Node.js, NVM, Python 및 기타 도구
- 스크립트, dotfiles 및 개발 컨테이너를 사용하여 구성을 자동화하세요.
- WSL2와 Zsh를 Visual Studio Code와 통합하기
- 자동화 스크립트 및 완벽한 WSL2 구성 저장소



