OS/Windows 2021. 4. 3. 22:20

Windows Terminal

기존에 Windows 10에서 기본으로 지원하는 Command Line Interface의 도구는 CMDPowerShell 이 대표적입니다.

그리고 해당 Tool에는 다른 편의 기능은 달리 없었기 때문에 다른 Tool에 의존해야 했습니다.

Windows Terminal 1.0 출시되었습니다. (2020/05/19)

1. Windows Terminal 편리한 사용법

  • 단축키
    • 열기
      • [Win Key] => 'wt' 입력 => [ENTER]
      • [Win Key] + [R] => 'wt' 입력 => [ENTER]
      • 오른쪽TAB으로: [CTRL] + [TAB]
      • 왼쪽TAB으로: [CTRL] + [SHIFT] + [TAB]
    • 영역
      • 동일 Terminal로 추가분할하기: [ALT] + [SHIFT] + [D]
      • 아래로 분할하기: [ALT] + [SHIFT] + [-]
      • 오른쪽으로 분할하기: [ALT] + [SHIFT] + [=]
      • 영역크기 조절: [ALT] + [SHIFT] + [방향키]
      • 제어 영역 변경: [ALT] + [방향키]
      • 현제 영역 닫기: [CTRL] + [SHIFT] + [W]
    • 설정
      • 설정 열기: [CTRL]+ [,]
        • (설정파일(json)을 Text Editor로 열어줄 뿐입니다.)
        • (혹시 안 될 경우에는 한/영 전환 후 시도!)

2. Windows Terminal 설정 - 꾸미기 설정

설정을 위해서는 JSON이 형식의 Text로된 파일을 수정해야 합니다.

Windows Terminal에는 아직 예쁘고 편리한 GUI 설정은 없는 것 같습니다.

먼저 꾸밀 터미널이 무엇인지 적용 범위에 대해 생각해 봅시다.

한번에 모든 Terminal에 설정할 수도 있고, 특정 Terminal에만 설정할 수 있습니다.

  • 방법 가. 모든 Terminal에 설정

    1. Windows Terminal에서 설정을 엽니다. ([CTRL]+ [,])
    2. 설정
      • 모든 터미널에 설정을 적용하기 위해서는 profiles.default에 설정하면 됩니다.
      • 예)
          {
              "profiles":
              {
                  "default":
                  {
                      "fontSize": 15,
                      "useAcrylic": true,
                      "acrylicOpacity": 0.5
                  }
              }
          }
  • 방법 나. 특정 Terminal에만 설정

    1. Windows Terminal에서 설정을 엽니다. ([CTRL]+ [,])
    2. 설정
      • 특정 Terminal에만 적용하기 위해서는 profiles.list에 특정 Terminal에 설정하면 됩니다.
      • 예)
          {
              "profiles":
              {
                  "default":
                  {
                      //...
                  },
                  "list":
                  [
                      {
                          // Make changes here to the powershell.exe profile.
                          "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
                          "name": "Windows PowerShell",
                          "commandline": "powershell.exe",
                          "hidden": false,
                          "fontSize": 15,
                          "useAcrylic": true,
                          "acrylicOpacity": 0.5
                      },
                      {
                          // Make changes here to the cmd.exe profile.
                          "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
                          "name": "명령 프롬프트",
                          "commandline": "cmd.exe",
                          "hidden": false,
                          "fontSize": 20,
                      },
                      ...
                  ]
              }
          }

적용범위를 정했다면 터미널을 꾸며봅시다.

2-1. 글씨체 꾸미기

  • 예)
      {
          ...
          "fontFace": "Consolas",
          "fontSize": 15,
          "fontWeight": "bold"
          ...
      }
  • 설명
    • fontFace: 글씨체 종류
      • 기본값: "Cascadia Mono"
      • 유효값: 사용가능한 Font명
    • fontSize: 글씨체 크기
      • 기본값: 12
      • 유효값: 정수
    • fontWeight: 글씨체의 두께
      • 기본값: "normal"
      • 유효값: "normal", "thin", "extra-light", "light", "semi-light", "medium", "semi-bold", "bold", "extra-bold", "black", "extra-black"

2-2. 색상 꾸미기

  • 예)
      {
          ...
          "foreground": "#333333",
          "background": "#eeeeee",
          "selectionBackground": "#66cc55",
          "cursorColor": "#ee5555",
          "tabColor": "#ee5555",
          "useAcrylic": true,
          "acrylicOpacity": 0.5
          ...
      }
  • 설명
    • foreground:
      • 유효값: hex 형식 색 코드 "#rgb" 또는 "#rrggbb"
    • background:
      • 유효값: hex 형식 색 코드 "#rgb" 또는 "#rrggbb"
    • selectionBackground:
      • 유효값: hex 형식 색 코드 "#rgb" 또는 "#rrggbb"
    • cursorColor:
      • 유효값: hex 형식 색 코드 "#rgb" 또는 "#rrggbb"
    • tabColor:
      • 유효값: hex 형식 색 코드 "#rgb" 또는 "#rrggbb"
    • useAcrylic: 아크릴 효과 여부
      • 기본값: false
      • 유효값: true 또는 false
    • acrylicOpacity: 아크릴 투명도
      • 기본값: 0.5
      • 유효값: 0 에서 1 사이의 부동소수점(floating point)

2-3. 배경이미지 꾸미기

  • 예)
      {
          "backgroundImage": "ms-appdata:///roaming/background_something.png",
          "backgroundImageAllignment": "center",
          "backgroundImageStretchMode": "uniformToFill",
          "backgroundImageOpacity": 0.7
      }
  • 설명
    • backgroundImage: 배경이미지 선택
      • 유효값: hex 형식 색코드 "#rgb" 또는 "#rrggbb"
      • 파일경로 또는 "desktopWallpaper"
        • 파일경로는 흔히 이곳(ms-appdata:///roaming/) 이곳을 이용하는데 아래방법으로 탐색기로 열 수 있습니다.
          • 실행 ([WIN KEY] + [R]) => 아래 경로를 복붙 => [ENTER]
              %LOCALAPPDATA%\packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\RoamingState
    • backgroundImageAllignment: 배경이미지 정렬
      • 기본값: "center"
      • 유효값: "center", "left", "top", "right", "bottom", "topLeft", "topRight", "bottomLeft", "bottomRight"
    • backgroundImageStretchMode: 배경이미지 크기를 창에 어떻게 채워 넣을지
      • 기본값: "uniformToFill"
      • 유효값: "none", "fill", "uniform", "uniformToFill"
    • backgroundImageOpacity: 배경이미지의 투명도
      • 기본값: 1.0
      • 유효값: 0 에서 1 사이의 부동소수점(floating point)

2-4. 상세

3. Windows Terminal 설정 - GitBash 추가하기

Windows용 GitBash는 개발자로서 너무 감사한 도구입니다.

GitBash를 설치하셨다면 Windows Terminal에도 적용할 수 있습니다.

  • 다음과 같이 설정할 수 있습니다.

    1. Windows Terminal에서 설정을 엽니다. ([CTRL]+ [,])

    2. 설정 추가

      • 기존의 JSON Object의 profiles.list에 다음 설정을 추가로 넣어야 합니다.
          { 
              "tabTitle": "Git Bash",
              "acrylicOpacity" : 0.75, 
              "closeOnExit" : true, 
              "colorScheme" : "Campbell", 
              "commandline" : "C:/Program Files/Git/bin/bash.exe --login", 
              "cursorColor" : "#FFFFFF", 
              "cursorShape" : "bar", 
              "fontFace" : "Consolas", 
              "fontSize" : 12, 
              "guid" : "{14ad203f-52cc-4110-90d6-d96e0f41b64d}", 
              "historySize" : 9001, 
              "icon": "ms-appdata:///roaming/git-bash_32px.png",
              "name" : "Git Bash", 
              "paddg" : "0, 0, 0, 0", 
              "snapOnInput" : true, 
              "useAcrylic" : true 
          }
      • 추가된 부분을 간략히 나타낸다면 대략 이렇습니다.
          {
              ...
              "profiles":
              {
                  "defaults":
                  {
                      // Put settings here that you want to apply to all profiles.
                  },
                  "list":
                  [
                      { 
                          "tabTitle": "Git Bash",
                          "acrylicOpacity" : 0.75, 
                          "closeOnExit" : true, 
                          "colorScheme" : "Campbell", 
                          "commandline" : "C:/Program Files/Git/bin/bash.exe --login", 
                          "cursorColor" : "#FFFFFF", 
                          "cursorShape" : "bar", 
                          "fontFace" : "Consolas", 
                          "fontSize" : 12, 
                          "guid" : "{14ad203f-52cc-4110-90d6-d96e0f41b64d}", 
                          "historySize" : 9001, 
                          "icon": "ms-appdata:///roaming/git-bash_32px.png",
                          "name" : "Git Bash", 
                          "padding" : "0, 0, 0, 0", 
                          "snapOnInput" : true, 
                          "useAcrylic" : true 
                      },
                      {
                          // 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": "명령 프롬프트",
                          "commandline": "cmd.exe",
                          "hidden": false
                      },
                      {
                          "guid": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
                          "hidden": false,
                          "name": "Ubuntu-18.04",
                          "source": "Windows.Terminal.Wsl"
                      },
                      {
                          "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
                          "hidden": false,
                          "name": "Azure Cloud Shell",
                          "source": "Windows.Terminal.Azure"
                      }
                  ]
              }
              ...
          }
    3. 아이콘 추가

      • 아이콘파일을 구해서 git-bash_32px.png이란 이름으로 다음 경로에 복사합니다.
      • 파일경로는 흔히 이곳(ms-appdata:///roaming/) 이곳을 이용하는데 아래방법으로 탐색기로 열 수 있습니다.
        • 실행 ([WIN KEY] + [R]) => 아래 경로를 복붙 => [ENTER]
            %LOCALAPPDATA%\packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\RoamingState

※ Reference - 참고