본문 바로가기
유용한 것들?

Windows Terminal

by 스빠시빠 2019. 11. 26.
New Windows Terminal

Windows가장 많이 사용하는 운영체제임에도 불구하고 언제나, 한결같이, 구린 Terminal을 지원했습니다.

그래서 Windows 사용자들은 cmder, ConEmu, Hyper 등을 사용해왔는데... 불편합니다. 네. 불편해요(특히 Hyper) 느리고, 설정해줘야 할 것도 많고.

 

그래서 MS에서 야심차게 프로젝트를 발표 했습니다. 두둥탁!

Windows Terminal(Preview)

 

결론부터 말씀드리자면, 기존에 WSL + Hyper를 사용했던 분들은 Hyper 대신 새로운 Windows Terminal을 사용하는게 더 좋습니다.

Hyper에서 넘쳐나던 잔버그가 없습니다. 속도는 더 빠릅니다. 안 쓸 이유가 없습니다.

 

설치방법
  1. Microsoft Store를 실행
  2. 검색 창에 "Windows Terminal"을 검색
  3. Windows Terminal (Preview)을 다운받아 설치

 

설치는 아주 간단합니다. 설치가 완료되면 실행 해봅니다.

기본화면

 

탭을 추가하거나 쉘의 종류를 선택 할 수 있도록 상단 타이틀바에 버튼이 있습니다.

쉘의 종류

  1. PowerShell
  2. cmd
  3. Bash on Ubuntu on Windows
  4. Azure Cloud Shell

WSL이 설치되어 있다면 Linux bash(Bash on Ubuntu on Windows)도 항목에 나오게 됩니다.

아래의 이미지는 현재 제가 사용하고 있는 목록입니다.

 

 

설정

자고로 터미널의 필수요소라면, 화면 분할을 빼놓을 수 없습니다. 모두 지원됩니다. 거기에 WSL bash에 설정해 놓은 것을 그대로 가져올 수 있습니다.

WSL 설정방법은 이 포스트에 없습니다.

 

설정파일은 json으로 관리하기 때문에 기존의 터미널이나 에디터들을 설정하는 방식과 비슷합니다.

설정 파일 위치

C:\Users\사용자 ID\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState

 

해당 경로에 직접 가서 파일을 열어도 되고, Windows Terminal에서 Ctrl + , 를 누르면 json 확장자 기본 에디터 파일로 열리게 됩니다.

제가 사용하는 설정파일의 일부를 보면서 설명 하겠습니다.

설정파일 링크: https://gist.github.com/sukutt/9a3f5e434c7449874d518e472202c1b6

{
    "$schema": "https://aka.ms/terminal-profiles-schema", 
    "defaultProfile" : "{6e9fa4d2-a4aa-562d-b1fa-0789dc1f83d7}", // 탭 추가 시 기본 shell
    "globals" : 
    {
        "keybindings" : 
        [
            { 
                "command": "splitHorizontal", // 화면 수평 분할
                "keys": [
                    "ctrl+-"
                    ]
            },
            {
                "command": "splitVertical",	// 화면 수직 분할
                "keys": [
                    "ctrl+\\"
                    ]
             },
         ]
    }
     "profiles":
    [
        {
            // 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": "cmd",
            "commandline": "cmd.exe",
            "hidden": false
        },
        {
            "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
            "hidden": false,
            "name": "Azure Cloud Shell",
            "source": "Windows.Terminal.Azure"
        },
        {
            "guid": "{6e9fa4d2-a4aa-562d-b1fa-0789dc1f83d7}",
            "acrylicOpacity" : 0.65000002384185791,
            "colorScheme": "One Half Dark",
            "closeOnExit" : false,
            "cursorColor" : "#00FF00",
            "cursorHeight" : 25,
            "cursorShape" : "vintage",
            "fontFace" : "Ubuntu Mono derivative Powerline",
            "fontSize" : 12,
            "hidden": false,
            "name": "WSL",
            "source": "Windows.Terminal.Wsl",
            "historySize" : 9001,
            "snapOnInput" : true,
            "startingDirectory" : "%USERPROFILE%",
            "useAcrylic" : true,
            "padding" : "20, 10, 20, 20"
        },
        {
            "guid": "{6c1aaa40-34cc-4087-94c2-47404074a136}", // 고유의 guid 생성 필요
            "acrylicOpacity" : 0.65000002384185791,
            "colorScheme": "One Half Dark",
            "closeOnExit" : false,
            "cursorColor" : "#00FF00",
            "cursorHeight" : 25,
            "cursorShape" : "vintage",
            "fontFace" : "Ubuntu Mono derivative Powerline",
            "icon" : "ms-appx:///ProfileIcons/{9acb9455-ca41-5af7-950f-6bca1bc9722f}.png",
            "backgroundImage" : "C:/users/woongahkim/AppData/Local/Packages/Microsoft.WindowsTerminal_8wekyb3d8bbwe/LocalState/giphy.gif",
            "backgroundImageOpacity" : 0.69999998807907104,
            "backgroundImageStretchMode" : "uniformToFill",
            "fontSize" : 12,
            "hidden": false,
            "name": "WSL with background",
            "historySize" : 9001,
            "snapOnInput" : true,
            "startingDirectory" : "%USERPROFILE%",
            "useAcrylic" : true,
            "padding" : "20, 10, 20, 20",
            "commandline": "wsl" // 여기가 가장 중요. 기본 shell 이후 커스텀 shell 추가 시 
            				   // source 속성을 제거 하고 commandline 속성으로 사용
        }
    ],
}

 

각 속성에 대한 설명은 공식 github 주소에서 확인 할 수 있습니다.

https://github.com/microsoft/terminal/tree/master/doc/cascadia

 

새로운 프로파일을 추가 할 때 주의점은

  1. 새로운 guid 생성: https://www.guidgen.com/

  2. source 속성 대신 commandline속성을 사용하기

    • source 속성을 사용하면 기본 4개 이상 메뉴에 추가가 안됨.

 

 

현재 사용하는 화면

 

현재 Windows Terminal은 오픈소스로 계속 개발되어지고 있습니다.

https://github.com/microsoft/terminal

개발이 더 가속화되려면, 많이 사용하는게 좋습니다. 많이 많이 사용해주세요

'유용한 것들?' 카테고리의 다른 글

세션 기반? ㄴㄴ 토큰 인증  (0) 2019.12.06

댓글