Windows의 Linux
47840 단어 wslterminalwindowsproductivity
Windows의 Linux
❓ 요약
그다지 간단하지 않다. Devenv는 일련의 강좌이다. 우리의 목표는 양호하고 효율적이며 이식 가능한 개발 환경을 제공하여 리눅스와 윈도 사이에서 이 두 세계를 충분히 이용하는 것이다.
첫 번째 자습서인 "Windows의 Linux"에서 설치를 위한 기본 작업을 수행했습니다.
📝 개술
이 자습서를 완성하려면 다음이 필요합니다.
Windows 버전 2004로 업그레이드
⚠️ 이 단계는 시스템 및 연결에 따라 2시간 이상 걸릴 수 있습니다.만약 시간이 제한되어 있다면, 이렇게 하려고 시도하지 마라.
Windows 버전 확인
winver
을 실행합니다.Windows 버전이 2004보다 낮으면
Settings > Update & Security
시스템 업데이트1로 이동하십시오.컴퓨터가 정확한 버전2으로 재부팅될 때까지 이 절차를 반복합니다.WSL2 사용
다음Microsoft documentation 관리자가 PowerShell을 열고 실행하려면 Windows Linux 서브시스템(Step 1)을 사용해야 합니다.
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
그런 다음 가상 머신 기능(Step 3)을 활성화하고 다음을 실행해야 합니다.dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
컴퓨터를 재부팅하여 WSL 설치를 완료하고 WSL 2로 업데이트합니다.다운로드WSL2 Linux kernel update package for x64 machines.관리자로 실행(Step 4)3.
WSL 2를 기본 버전(Step 5)으로 설정하려면 다음 명령을 실행합니다.
wsl --set-default-version 2
Linux 릴리스 설치
WSL은 리눅스를 실행할 준비가 되어 있으며, 현재 당신이 가장 좋아하는 버전(Step 6)을 설치할 수 있습니다
Microsoft 애플리케이션 스토어를 열고 원하는 Linux 릴리스를 검색하여 설치합니다.
설치4가 끝나면 사용자를 만들고 암호를 설정하라는 메시지가 표시됩니다.
현재, 이전에 설정한 사용자 5 를 사용하여 발행판에 연결해야 합니다.
다음과 같이 설치된 릴리스와 해당 이름을 볼 수 있습니다.
wsl -l -v
기본 릴리스는 별표로 표시되며 다음 옵션을 사용하여 릴리스를 기본 릴리스로 설정할 수 있습니다.wsl --set-default <distro>
기본 릴리스를 시작하려면 wsl
명령을 실행합니다.특정 릴리스를 시작하려면:
wsl -d <distro>
이전에 WSL 1(버전 1)을 사용한 릴리스를 설치한 경우 다음과 같이 업그레이드할 수 있습니다.wsl --set-version <distro> 2
이 작업은 시간이 오래 걸릴 수 있습니다.6
Docker 데스크톱 설치
다음은 , 다운로드 및 설치Docker documentation
Linux 릴리스에 Docker Desktop을 활성화해야 합니다. Windows 작업 표시줄 숨김 아이콘에서 Docker Desktop dashboard를 엽니다.
릴리스의 WSL 통합을 활성화하려면
Settings
> Resources
> WSL integration
로 이동하여 Apply & Restart
를 클릭합니다.Docker Desktop
Windows 터미널 설치
Linux 릴리스 가 우리의 요구에 완전히 부합되도록 하기 위해서 더 좋은 터미널이 필요할 수도 있습니다.Windows terminal에서 응용 프로그램을 설치할 수 있습니다.
설치 후 사용자 정의 설정을 사용할 수 있습니다. 이 Microsoft Store 를 사용하면 사용 가능한 모든 옵션을 볼 수 있습니다.설정 파일을 열려면 위쪽 열에서 아래쪽 화살표를 클릭하고 (Ctrl, +) 를 클릭합니다.
기본 셸 프로필을 변경하려면
Settings
에서 원하는 프로필의 guid
값을 기본값으로 설정합니다.개요 파일 GUID는 defaultProfile
섹션에서 확인할 수 있습니다.profiles
배포 홈 디렉토리를 Windows 마운트 위치가 아닌 시작 경로로 설정하려면 배포 구성 파일"defaultProfile": "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx}",
항목에 ~
을 추가합니다."profiles": [
#...
"list": [
#...
{
#...
"name": "<distribution-name>",
"source": "Windows.Terminal.Wsl",
"commandline": "wsl.exe ~ -d <distribution-name>",
#...
}
#...
]
#...
]
JSON schema 터미널 설정과 케이스 덮어쓰기.
⚠️ Windows 터미널은 케이스와 상호작용하는 매개체이다.여기에 정의된 일부 설정은 셸 설정에 덮어쓸 수 있습니다.
구성 예
배색 방안
기본 색상 체계를 덮어쓰고 이름을 설정합니다.
"schemes": [
#...
{
"name": "Gerbier",
"background": "#111111",
"foreground": "#C8C8C8",
"black": "#C8C8C8",
"blue": "#44637A",
"brightBlack": "#7A7A7A",
"brightBlue": "#6FA0C6",
"brightCyan": "#76A394",
"brightGreen": "#7CA661",
"brightPurple": "#9090C0",
"brightRed": "#B04646",
"brightWhite": "#505050",
"brightYellow": "#E8C273",
"cyan": "#32464A",
"green": "#425934",
"purple": "#555573",
"red": "#8A3737",
"white": "#3C3C3C",
"yellow": "#9C824D"
}
#...
],
colorScheme 속성과 이름을 연결하여 색상 체계를 참조합니다."profiles": [
#...
"list": [
#...
{
#...
"colorScheme": "Gerbier",
#...
}
#...
]
#...
]
사용자 정의 키 바인딩 예
"actions":
[
// Application-level Keys
{ "command": "closeWindow", "keys": "alt+f4" },
{ "command": "toggleFullscreen", "keys": "alt+enter" },
{ "command": "toggleFullscreen", "keys": "f11" },
{ "command": "toggleFocusMode" },
{ "command": "toggleAlwaysOnTop" },
{ "command": "openNewTabDropdown", "keys": "ctrl+shift+space" },
{ "command": "openSettings", "keys": "ctrl+," },
{ "command": { "action": "openSettings", "target": "defaultsFile" }, "keys": "ctrl+alt+," },
{ "command": "find", "keys": "ctrl+f" },
{ "command": "toggleRetroEffect" },
{ "command": "openTabColorPicker" },
{ "command": "commandPalette", "keys":"ctrl+shift+p" },
// Tab Management
// "command": "closeTab" is unbound by default.
// The closeTab command closes a tab without confirmation, even if it has multiple panes.
{ "command": "closeOtherTabs" },
{ "command": "closeTabsAfter" },
{ "command": "newTab", "keys": "ctrl+t" },
{ "command": "duplicateTab", "keys": "ctrl+d" },
{ "command": "nextTab", "keys": "ctrl+tab" },
{ "command": "prevTab", "keys": "ctrl+shift+tab" },
// Pane Management
{ "command": "closePane", "keys": "ctrl+w" },
{ "command": { "action": "splitPane", "split": "horizontal" }, "keys": "alt+shift+-" },
{ "command": { "action": "splitPane", "split": "vertical" }, "keys": "alt+shift+plus" },
{ "command": { "action": "resizePane", "direction": "down" }, "keys": "alt+shift+down" },
{ "command": { "action": "resizePane", "direction": "left" }, "keys": "alt+shift+left" },
{ "command": { "action": "resizePane", "direction": "right" }, "keys": "alt+shift+right" },
{ "command": { "action": "resizePane", "direction": "up" }, "keys": "alt+shift+up" },
{ "command": { "action": "moveFocus", "direction": "down" }, "keys": "alt+down" },
{ "command": { "action": "moveFocus", "direction": "left" }, "keys": "alt+left" },
{ "command": { "action": "moveFocus", "direction": "right" }, "keys": "alt+right" },
{ "command": { "action": "moveFocus", "direction": "up" }, "keys": "alt+up" },
// Clipboard Integration
{ "command": { "action": "copy", "singleLine": false }, "keys": "ctrl+c" },
{ "command": { "action": "copy", "singleLine": false }, "keys": "ctrl+insert" },
{ "command": "paste", "keys": "ctrl+v" },
{ "command": "paste", "keys": "shift+insert" },
// Scrollback
{ "command": "scrollDown", "keys": "ctrl+down" },
{ "command": "scrollDownPage", "keys": "ctrl+pgdn" },
{ "command": "scrollUp", "keys": "ctrl+up" },
{ "command": "scrollUpPage", "keys": "ctrl+pgup" },
// Visual Adjustments
{ "command": { "action": "adjustFontSize", "delta": 1 }, "keys": "ctrl+=" },
{ "command": { "action": "adjustFontSize", "delta": -1 }, "keys": "ctrl+-" },
{ "command": "resetFontSize", "keys": "ctrl+0" },
// Other commands
{
// Select color scheme...
"name": { "key": "SetColorSchemeParentCommandName" },
"commands": [
{
"iterateOn": "schemes",
"name": "${scheme.name}",
"command": { "action": "setColorScheme", "colorScheme": "${scheme.name}" }
}
]
},
{
// New tab...
"name": { "key": "NewTabParentCommandName" },
"commands": [
{
"iterateOn": "profiles",
"icon": "${profile.icon}",
"name": "${profile.name}",
"command": { "action": "newTab", "profile": "${profile.name}" }
}
]
},
{
// Split pane...
"name": { "key": "SplitPaneParentCommandName" },
"commands": [
{
"iterateOn": "profiles",
"icon": "${profile.icon}",
"name": "${profile.name}...",
"commands": [
{
"command": { "action": "splitPane", "profile": "${profile.name}", "split": "auto" }
},
{
"command": { "action": "splitPane", "profile": "${profile.name}", "split": "vertical" }
},
{
"command": { "action": "splitPane", "profile": "${profile.name}", "split": "horizontal" }
}
]
}
]
}
]
다음 글
다음 글은 셸을 어떻게 맞춤형으로 만드는지 중점적으로 소개할 것이다.
공헌자
사용된 참고 문헌
commandline
Troubleshooting: error 0xc03a001a - 2 아래의 Check online for updates from Microsoft Updates
를 클릭해야 합니다.컴퓨터에 docker desktop이 설치되어 있으면 HyperV 대신 WSL 2를 사용하라는 메시지가 표시됩니다.이것은 본 강좌의 뒷부분에서 토론할 것이다. ↩
관리자로 실행할 수 없는 경우
Check for updates
설치가 다음 오류로 끝날 수 있습니다.wsl_update_x64.msi
이 문제를 해결하려면 관리자로 PowerShell을 열고 CLI를 통해 설치를 실행합니다. ↩ 설치 시간이 너무 길다고 생각되면 enter 키를 눌러야 할 수도 있습니다.설치는 보통 1분도 안 걸린다. ↩
다음과 같은 오류가 발생할 수 있습니다.
This update only applies to machines with the Windows Subsystem for Linux
↩ 이 오류를 수정하려면
Error: 0xc03a001a The requested operation could not be completed due to a virtual disk system limitation. Virtual hard disk files must be decompressed and unencrypted and must not be sparse.
로 이동하여 릴리스 패키지(예: Canonical Group Limited. Ubuntu 20.04...)를 찾습니다.폴더 속성$USER\AppData\Local\Packages
을 열고 선택을 취소합니다General > Advanced
.발행판에 '루트' 로 연결하면 설치가 실패합니다. 더 간단한 방법은 마운트를 해제하고 다시 설치하는 것입니다.실행
Compress and Encrypt attributes
Windows Application 스토어에서 릴리스를 다시 시작하여 설치를 다시 시작합니다. ↩ Reference
이 문제에 관하여(Windows의 Linux), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/codingones/linux-on-windows-42ma텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)