WSL을 사용하여 Windows에 편안한 명령줄 환경 구축
Windows에는 커맨드 라인 환경이 충실하다고는 말할 수 없지만, 최근 탑재된 WSL이라는 기능을 이용하여 Windows에 Linux를 설치할 수 있게 되었다.
WSL을 사용하여 편안한 명령줄 환경을 얻으십시오.
WSL 환경 구축
WSL을 편안하게 사용하기 위해 Mintty, win32yank, AutoHotKey 등을 사용합니다.
WSL을 포함한 이러한 설치 방법 등은 구그하면 많이 나오므로 자세한 설치 방법 등은 설명하지 않는다.
WSL 활성화 및 배포 설치
Microsoft Store에서 설치하는 방법 외에도 직접 만든 이미지를 설치할 수 있습니다.
htps : // 기주 b. 코 m / 미 c 로소 ft / WSL ぢ
WSLtty (Mintty) 설치
Linux 환경을 손에 넣어도 명령 프롬프트상에서는 강력한 기능을 쓰러뜨릴 수 없다.
따라서 WSL 용으로 개발 된 터미널 에뮬레이터를 사용합니다.
htps : // 기주 b. 코 m / 민 ty / wsl ty
release에서 최신 설치 프로그램으로 설치하는 것이 좋습니다.
win32yank
커맨드 라인에서 클립 보드를 조작하는 커맨드로서 Mac이라면 pbcopy
pbpaste
Linux이면 xclip
release에서 최신을 떨어뜨려 경로를 통과하면 된다.
WSL은 exe 파일을 직접 호출할 수 있지만, exe 본체는 Windows 파일 시스템상에 존재하지 않으면 정상적으로 동작하지 않는 것 같기 때문에, 다음과 같이 심볼릭 링크를 하고 있다.
% ls -l /usr/local/bin/
lrwxrwxrwx 1 root root 13 Jan 22 13:05 win32yank -> win32yank.exe
lrwxrwxrwx 1 root root 64 Jan 22 13:04 win32yank.exe -> /mnt/c/Users/takezo/AppData/Local/WSL.opt/win32yank/win32yank.exe
AutoHotKey
win32yank 을 이용해, Mintty 의 윈도우가 액티브한 경우, 左Winキー + C
로 선택 범위의 카피, 左Winキー + V
로 클립보드로부터 붙여넣을 수 있도록 하고 있다.
AutoHotKey.ahk*<#c::
if (WinActive("ahk_class mintty")) {
Send,^{Insert}
} else {
Send,^c
}
return
*<#v::
if (WinActive("ahk_class mintty")) {
Send,+{Insert}
} else {
Send,^v
}
return
시작 스크립트
open-wsltty.jsvar fs = new ActiveXObject("Scripting.FileSystemObject")
var WshShell = new ActiveXObject("WScript.Shell");
var env = WshShell.Environment('PROCESS');
var Distro = WScript.Arguments(0)
var Terminal = "%LOCALAPPDATA%\\wsltty\\bin\\mintty.exe"
var Icon = fs.getParentFolderName(WScript.ScriptFullName) + "\\\"" + Distro + ".ico\""
var Config = fs.getParentFolderName(WScript.ScriptFullName)
var Shell = "/usr/bin/zsh --login"
var Command = Terminal + " -i " + Icon + " --WSL=\"" + Distro + "\" --configdir=" + Config + " -~ " + Shell
env.item("WSLENV") = "PATH/lu:USERPROFILE/pu:LOCALAPPDATA/pu:PROGRAMFILES/pu:ANDROID_HOME/pu:NDK_ROOT/pu"
WshShell.Run("cmd /c start " + Command, 0);
Mintty 옵션
-i
: 아이콘 지정--WSL
: 배포 지정--configdir
: AutoHotKey 파일 디렉토리 지정
나는 zsh를 사용하고 있기 때문에 /usr/bin/zsh --login
에서 zsh 로그인 쉘을 시작하고있다.
bash를 사용하면 /bin/bash -l
WSLENV
환경 변수를 사용해, PATH
USERPROFILE
스크립트 호출
다음과 같은 바로 가기나 배치 파일을 만들어 시작한다.
\path\to\open-wsltty.js "Ubuntu-18.04"
시작 메뉴 등에 놓으면 런처 등을 주워 주므로 편리
config
그건 그렇고, 런처는 을 LOCALAPPDATA
에서 Mac처럼 사용합니다.
WSL 설정
WSLENV
Ctrl + Space
또는 Windows -> WSL
를 호출할 때 환경 변수를 공유하기 위한 특수한 환경 변수.
Hain
/ 에 tc / wsl. 곤 f
WSL 기동시의 마운트 옵션이나 네트워크 구성을 설정할 수 있다.
htps : // / cs. 미 c 로소 ft. 코 m / 그럼 jp / 우동 ws / wsl / 이테로 p
난 기본적으로 사용하고 있습니다.
비고
WSL1은 파일 입출력이 매우 느립니다.
WSL2는 파일 I/O는 개선되지만 처리 성능이 약간 떨어지는 것 같습니다.
Reference
이 문제에 관하여(WSL을 사용하여 Windows에 편안한 명령줄 환경 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Takezoh/items/6711668c2b60224fff2e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
% ls -l /usr/local/bin/
lrwxrwxrwx 1 root root 13 Jan 22 13:05 win32yank -> win32yank.exe
lrwxrwxrwx 1 root root 64 Jan 22 13:04 win32yank.exe -> /mnt/c/Users/takezo/AppData/Local/WSL.opt/win32yank/win32yank.exe
*<#c::
if (WinActive("ahk_class mintty")) {
Send,^{Insert}
} else {
Send,^c
}
return
*<#v::
if (WinActive("ahk_class mintty")) {
Send,+{Insert}
} else {
Send,^v
}
return
var fs = new ActiveXObject("Scripting.FileSystemObject")
var WshShell = new ActiveXObject("WScript.Shell");
var env = WshShell.Environment('PROCESS');
var Distro = WScript.Arguments(0)
var Terminal = "%LOCALAPPDATA%\\wsltty\\bin\\mintty.exe"
var Icon = fs.getParentFolderName(WScript.ScriptFullName) + "\\\"" + Distro + ".ico\""
var Config = fs.getParentFolderName(WScript.ScriptFullName)
var Shell = "/usr/bin/zsh --login"
var Command = Terminal + " -i " + Icon + " --WSL=\"" + Distro + "\" --configdir=" + Config + " -~ " + Shell
env.item("WSLENV") = "PATH/lu:USERPROFILE/pu:LOCALAPPDATA/pu:PROGRAMFILES/pu:ANDROID_HOME/pu:NDK_ROOT/pu"
WshShell.Run("cmd /c start " + Command, 0);
\path\to\open-wsltty.js "Ubuntu-18.04"
WSLENV
Ctrl + Space
또는 Windows -> WSL
를 호출할 때 환경 변수를 공유하기 위한 특수한 환경 변수.Hain
/ 에 tc / wsl. 곤 f
WSL 기동시의 마운트 옵션이나 네트워크 구성을 설정할 수 있다.
htps : // / cs. 미 c 로소 ft. 코 m / 그럼 jp / 우동 ws / wsl / 이테로 p
난 기본적으로 사용하고 있습니다.
비고
WSL1은 파일 입출력이 매우 느립니다.
WSL2는 파일 I/O는 개선되지만 처리 성능이 약간 떨어지는 것 같습니다.
Reference
이 문제에 관하여(WSL을 사용하여 Windows에 편안한 명령줄 환경 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Takezoh/items/6711668c2b60224fff2e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(WSL을 사용하여 Windows에 편안한 명령줄 환경 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Takezoh/items/6711668c2b60224fff2e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)