윈도우 (Windows)는 태생부터 리눅스 (Linux)와 다르다보니, CLI 환경도 리눅스 기반의 OS와는 너무나 다른 환경을 가지고 있습니다. 윈도우에서는 CMD를 사용하고 리눅스에서는 배쉬를 사용하다 보면 여간 헷갈리는게 아닙니다. 그래서 어떻게 하면 좀 더 일관된 환경에서 개발이 가능할까 고민을 해보았습니다.
제가 찾은 해답은 바로 윈도우에서도 배쉬를 이용하는 것이었습니다. 그리고 가장 흔하게 접할 수 있는 배쉬는 깃 (Git)에서 제공하는 깃 배쉬 (깃 배쉬) 였습니다. 그렇다고 마냥 이것만 사용하기에는 인터페이스가 마음에 들지 않으므로, 윈도우즈 터미널 (Windows Terminal)하고 조합을 해 봅니다.
설치
먼저 링크 (바로가기)에서 깃 배쉬를 설치합니다. 그 후에 윈도우즈 터미널을 설치하는데, 이는 윈도우 10부터 사용 가능한 마이크로소포트 스토어에서 다운로드 가능합니다. (바로가기)
모든 설치가 완료되면 윈도우즈 터미널을 실행합니다. 기본적으로 약간의 투명성이 설정되어 있어서 뒤의 배경이 살짝 비치는 것을 볼 수 있습니다.
설정
이제, 깃 배쉬를 윈도우즈 터미널에 추가해보도록 하겠습니다. 터미널의 상단 바에서 설정으로 진입합니다. 설정은 별도 화면이 없이, JSON 파일이 그대로 열리게 됩니다.
중간쯤에 위치한 profiles
항목에 다음 JSON을 추가합니다.
{
"acrylicOpacity" : 0.75,
"closeOnExit" : true,
"colorScheme" : "Dracula",
"commandline" : "\"%PROGRAMFILES%\\git\\usr\\bin\\bash.exe\" -i -l",
"cursorColor" : "#FFFFFF",
"cursorShape" : "bar",
"fontFace" : "Consolas",
"fontSize" : 11,
"guid": "{00000000-0000-0000-ba54-000000000002}",
"historySize" : 9001,
"icon" : "ms-appx:///ProfileIcons/{0caa0dad-35be-5f56-a8ff-afceeeaa6101}.png",
"name" : "Git Bash",
"padding" : "0, 0, 0, 0",
"snapOnInput" : true,
"startingDirectory" : "%USERPROFILE%",
"useAcrylic" : true
},
Code language: JSON / JSON with Comments (json)
여기서 guid
는 원하는, 그러나 다른 프로필과 겹치지 않는 값을 지정하면 됩니다. colorScheme
는 제 취향에 따라서 Dracula 테마로 지정되어 있는데, 테마도 설정 파일의 하단에 있는 schemes
에 추가해야 합니다.
{
"name" : "Dracula",
"background" : "#282A36",
"black" : "#21222C",
"blue" : "#BD93F9",
"brightBlack" : "#6272A4",
"brightBlue" : "#D6ACFF",
"brightCyan" : "#A4FFFF",
"brightGreen" : "#69FF94",
"brightPurple" : "#FF92DF",
"brightRed" : "#FF6E6E",
"brightWhite" : "#FFFFFF",
"brightYellow" : "#FFFFA5",
"cyan" : "#8BE9FD",
"foreground" : "#F8F8F2",
"green" : "#50FA7B",
"purple" : "#FF79C6",
"red" : "#FF5555",
"white" : "#F8F8F2",
"yellow" : "#F1FA8C"
},
Code language: JSON / JSON with Comments (json)
그대로 JSON 설정 파일을 저장하면 곧바로 윈도우즈 터미널에 설정이 적용되는 것을 확인할 수 있습니다. 아래와 같이 새로 추가된 깃 배쉬 프로필을 선택하면 정상 동작하는 것을 확인하실 수 있습니다.
사용
모든 설치와 설정이 완료되었습니다. 간단한 리눅스 명령어 몇 가지를 입력해보시면 예상하는 것처럼 잘 동작하는 것을 확인할 수 있습니다. 이처럼 리눅스에서 사용하던 기본 명령어들을 일관되게 윈도우에서도 사용 가능하게 되었습니다. 그리고 윈도우즈 터미널의 탭 방식 터미널로 복수의 터미널을 손쉽게 관리할 수 있습니다.
물론 100% 호환되지는 않습니다. 프로그램에 따라서 OS 환경을 탐색하는 경우에는 윈도우로 판단되면 윈도우의 Path 포맷을 사용하게 되는데, 이것이 깃 배쉬에서는 인식할 수 없는 경로로 판단할 수 있습니다. 그래도 윈도우 사용자 여러분들이 좀 더 눈호강 하시면서 개발할 수 있기를 바라며 글을 마칩니다.