[ 본 내용은 Nomad-Coder Nico 의 무료 강의 '윈도우즈 셋업' 을 보고 정리한 글 입니다. 니코짱!]
https://nomadcoders.co/windows-setup-for-developers
개발자를 위한 윈도우 셋업 - 노마드 코더 Nomad Coders
WSL2, Windows Terminal, Ubuntu
nomadcoders.co
1. Windows 2004 업데이트 확인
2. Windows 환경에서 간편하게 다운로드 ( Chocolately )
Chocolatey - The package manager for Windows
Chocolatey is software management automation for Windows that wraps installers, executables, zips, and scripts into compiled packages. Chocolatey integrates w/SCCM, Puppet, Chef, etc. Chocolatey is trusted by businesses to manage software deployments.
chocolatey.org
에서, Install Now의 명령어를 PowerShell을 관리자권한으로 실행하여 명령어를 입력하면, Chocolately가 설치된다.
새로운 PowerShell을 열어 choco 명령어를 치면 잘 설치되었는지 확인할 수 있다.
3. Python, Git 등을 choco 명령어를 통해 다운로드 받을 수 있다.
- choco install python, choco install git 등 chocolatey.org/packages 에서 확인.
Chocolately를 사용하면 좋은 점은, 설치한 후 잘 작동하는 지를 콘솔창에서 바로 확인 해볼 수 있다는 것 이다.
4. Windows Terminal 설치
이제 여기서, Windows Terminal을 설치해주자.
왜? PowerShell은 못생겼음 . . Terminal을 설치해 커스터마이징해 쓰자.
MSStore에서 설치할 수도 있고, Choco를 통해 설치할 수도 있다.
chocolatey.org/packages?q=terminal
Packages matching terminal
Chocolatey is software management automation for Windows that wraps installers, executables, zips, and scripts into compiled packages. Chocolatey integrates w/SCCM, Puppet, Chef, etc. Chocolatey is trusted by businesses to manage software deployments.
chocolatey.org
명령어 : choco install microsoft-windows-terminal
이제 PowerShell은 Bye bye.
5. WindowsTerminal 사용
VisualStudioCode를 명령어를 통해 실행할 수 있다. ( 대상 경로에 있는 파일 or 폴더 )
6. WSL 설정
이제 WSL를 다운받아 주자.
구글에 "enable wsl2"를 검색, docs.microsoft.com/en-us/windows/wsl/install-win10
Install Windows Subsystem for Linux (WSL) on Windows 10
Learn how to install Linux distributions on your Windows 10 machine, with a Bash terminal, including Ubuntu, Debian, SUSE, Kali, Fedora, Pengwin, and Alpine.
docs.microsoft.com
명령어 복사 :
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Terminal을 관리자권한으로 실행하여 설치, 이후 Ubuntu 다운 (Microsoft Store에서 다운받거나, Choco 이용)
: choco install wsl-ubuntu-1804
> 나같은 경우는 choco로 다운시 오류가 나서 그냥 Microsoft Store에서 다운 후 재부팅했다..
이제 WSL2로 업데이트.
이전에 enable wsl2 를 통해 들어간 사이트에서, step3으로 가서 명령으롤 복사한 후 ,
PowerShell을 관리자 권한으로 다시 틀어 명령어를 입력한다.
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
그리고 재부팅.
재부팅 후 wsl2를 기본 설정으로 설정한다.
wsl --set-default-version 2
여기서, WSL2 커널 업데이트가 필요하다고 뜰 수도있고, 아닐 수도 있는데. (현재는 뜬 상황)
뜬다면 위 링크(aka.ms/wsl2kernel)로 가면 된다.
다시 실행해서 아래와 같은 화면이 나온다면, 윈도우 내의 리눅스 서브시스템(WSL2) 설정은 끝이다.
이제, WSL에다가 Ubuntu에 WSL2를 사용할 거라는 것을 알려줘야 한다.
Terminal을 Admin 권한으로 다시 실행하여, Ubuntu 버젼을 확인한 후, wsl 버전을 설정해주자.
이 과정에서, BIOS의 virtualization 설정 때문에 에러가 뜰수 있다.
각 메인보드의 BIOS 설정법을 구글링 해서 virtualization (가상화) 설정을 하자.
만약 가상화를 지원하지않는 메인보드라면 WSL2를 사용하지 못한다.
WSL과 WSL2의 차이점은 WSL2가 좀 더 빠르고, 기능이 많다는 것 이지만 크게 차이는 없다고 한다.
7. Terminal Customization
Windows Terminal을 실행하고, Ubuntu를 실행, 설정을 클릭하면 settings.json 파일 을 열 수 있다.
설정을 누르면 settings.json이 메모장으로 열리거나 VSC로 열릴텐데, 기존에 json 파일을 연결하는 프로그램이 어떤 것으로 설정되어 있는지에 따라 다르기 때문에 만약 vsc로 열고싶다면 json파일의 연결프로그램을 VSC로 설정하면 되고, 아니면 그냥 메모장에서 설정해도 된다.
"$schema": "https://aka.ms/terminal-profiles-schema",
"defaultProfile": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
// You can add more global application settings here.
// To learn more about global settings, visit https://aka.ms/terminal-global-settings
// If enabled, selections are automatically copied to your clipboard.
"copyOnSelect": false,
// If enabled, formatted data is also copied to your clipboard
"copyFormatting": false,
// A profile specifies a command to execute paired with information about how it should look and feel.
// Each one of them will appear in the 'New Tab' dropdown,
// and can be invoked from the commandline with `wt.exe -p xxx`
// To learn more about profiles, visit https://aka.ms/terminal-profile-settings
"profiles":
{
"defaults":
{
// Put settings here that you want to apply to all profiles.
},
"list":
[
{
// Make changes here to the powershell.exe profile.
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"name": "Windows PowerShell",
"commandline": "powershell.exe",
"hidden": false
},
{
// Make changes here to the cmd.exe profile.
"guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
"name": "Command Prompt",
"commandline": "cmd.exe",
"hidden": false
},
{
"guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
"hidden": false,
"name": "Azure Cloud Shell",
"source": "Windows.Terminal.Azure"
},
{
"guid": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
"hidden": false,
"name": "Ubuntu-18.04",
"source": "Windows.Terminal.Wsl"
}
]
},
json에서 여러가지 설정을 손볼 수 있는데, + 버튼을 눌렀을 시 default로 어떤 것을 열 지 guid를 통해 설정할 수 있고, 각 프로그램의 name을 원하는대로 커스텀할 수 있다.
현재 터미널도 좋지만, 이 위에 사용할 새로운 걸 설치할 수도 있다.
'oh-my-zsh' : github.com/ohmyzsh/ohmyzsh
ohmyzsh/ohmyzsh
🙃 A delightful community-driven (with 1700+ contributors) framework for managing your zsh configuration. Includes 200+ optional plugins (rails, git, OSX, hub, capistrano, brew, ant, php, python, et...
github.com
먼저 zsh를 설치해준다. 설치하려면 Ubuntu 콘솔에서 실행시켜야 한다.
> Ubuntu 에서 명령어 apt install zsh
그럼 Permission denied로 뜨는데, 이는 사용자가 root가 아니어서 그렇다.
root로 사용하려면 sudo 명령어를 사용하면 된다.
> sudo apt install zsh
Password는 WSL 유저 생성 시, 설정했던 비밀번호를 입력하면 된다.
설치가 다 됐다면, oh my zsh를 설치하자.
명령어 :
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" |
이제 위와같은 Shell 을 얻게된다!