Windows 터미널의 문제 해결

이 가이드에서는 Windows 터미널을 사용할 때 발생할 수 있는 일반적인 오류와 문제에 대해 설명합니다.

설정을 열면 아무 작업도 수행하지 않음(또는 예기치 않은 애플리케이션이 열림)

드롭다운에서 "설정" 단추를 클릭하면 터미널에서 settings.json 설정 파일을 열려고 시도합니다. 그러면 OS에서 구성된 .json 파일 편집기를 시도하고 시작합니다. 이 편집기는 Visual Studio, 메모장 또는 완전히 예기치 않은 다른 애플리케이션일 수 있습니다. 컴퓨터에 구성된 .json 편집기가 없는 경우 결국에는 OS에서 "이 파일을 열 때 사용할 앱을 선택하세요." 대화 상자가 표시됩니다.

설정 UI를 사용하여 설정을 구성할 수도 있습니다. 작업 페이지에서 설정 UI를 여는 방법을 알아볼 수 있습니다.

이전 버전의 Windows 터미널에서 시작할 때 홈 ~ 디렉터리에서 시작하도록 WSL 배포를 설정합니다.

기본적으로 프로필의 startingDirectory%USERPROFILE%(C:\Users\<YourUsername>)입니다. 이 경로는 Windows 경로입니다. 새 버전의 Windows 터미널을 실행하는 WSL 배포의 경우 파일 시스템은 ~를 입력하여 이 홈 경로를 설정할 수 있습니다. 이전 버전의 Windows 터미널에서는 /home/<Your Ubuntu Username>을 사용하여 홈 폴더를 직접 참조할 수 있습니다. 예를 들어 다음 설정은 "Ubuntu-20.04" 배포판을 홈 파일 경로에서 시작합니다.

{
    "name": "Ubuntu-20.04",
    "commandline" : "wsl -d Ubuntu-20.04",
    "startingDirectory" : "/home/<Your Ubuntu Username>"
}

초기 버전의 Windows 터미널을 사용하는 경우 WSL은 startingDirectory 설정에 대한 배포의 홈 경로를 참조할 때 \\wsl$\ 접두사를 사용해야 할 수 있습니다. 예를 들어 다음 설정은 "Ubuntu-18.04" 배포판을 홈 파일 경로에서 시작합니다.

{
    "name": "Ubuntu-18.04",
    "commandline" : "wsl -d Ubuntu-18.04",
    "startingDirectory" : "//wsl$/Ubuntu-18.04/home/<Your Ubuntu Username>"
}

Important

최신 버전의 Windows에서 startingDirectory는 Linux 스타일 경로를 허용할 수 있습니다.

탭 제목 설정

셸이 자동으로 탭 제목을 설정하게 하려면 탭 제목 설정 자습서를 방문하세요. 사용자 고유의 탭 제목을 설정하려면 settings.json 파일을 열고 다음 단계를 수행합니다.

  1. 원하는 명령줄의 프로필에서, 셸에서 전송되는 모든 제목 변경 이벤트를 표시하지 않도록 "suppressApplicationTitle": true를 추가합니다. 프로필에 이 설정 추가하면 탭 제목이 프로필 이름으로 설정됩니다.

  2. 프로필 이름이 아닌 사용자 지정 탭 제목을 원하는 경우 "tabTitle": "TITLE"을 추가합니다. "TITLE"을 원하는 탭 제목으로 바꿉니다.

PowerShell의 명령줄 인수

PowerShell에서 명령줄 인수가 어떻게 작동하는지 알아보려면 명령줄 인수 페이지를 방문하세요.

WSL의 명령줄 인수

WSL에서 명령줄 인수가 어떻게 작동하는지 알아보려면 명령줄 인수 페이지를 방문하세요.

startingDirectory 설정 문제

프로필에서 startingDirectory가 무시되는 경우 먼저 settings.json 파일에서 구문이 올바른지 확인합니다. 이 구문을 쉽게 확인할 수 있도록 "$schema": "https://aka.ms/terminal-profiles-schema"가 자동으로 삽입됩니다. Visual Studio Code 같은 일부 애플리케이션은 이렇게 삽입된 스키마를 편집할 때 사용하여 json 파일의 유효성을 검사할 수 있습니다.

설정이 올바르면 터미널의 시작 디렉터리를 개별적으로 설정하는 시작 스크립트를 실행하고 있는 것일 수 있습니다. 예를 들어 PowerShell에는 고유의 프로필 개념이 있습니다. PowerShell에서 시작 디렉터리를 변경하면 Windows 터미널에 정의된 설정보다 우선적으로 적용됩니다.

또는 commandline 프로필 설정을 사용하여 스크립트를 실행하는 경우 이 프로필에서 위치를 설정 중인 것일 수 있습니다. PowerShell 프로필과 마찬가지로 이 프로필의 명령이 startingDirectory 프로필 설정보다 우선적으로 적용됩니다.

startingDirectory의 목적은 지정된 디렉터리에서 새 Windows 터미널 인스턴스를 시작하는 것입니다. 터미널에서 실행하는 코드가 해당 디렉터리를 변경하는 경우 코드를 확인하는 것이 좋습니다.

Ctrl+=를 눌러도 글꼴 크기가 증가하지 않음

독일어 키보드 레이아웃을 사용하는 경우 이 문제가 발생할 수 있습니다. 기본 키보드 레이아웃이 독일어로 설정된 경우 Ctrl+=는 Ctrl+Shift+0으로 역직렬화됩니다. 독일어 키보드에서는 이것이 올바른 매핑입니다.

더 중요한 것은 앱이 Ctrl+Shift+0 키 입력을 수신하지 않는 것입니다. 이는 여러 키보드 레이아웃이 활성화된 경우 Ctrl+Shift+0이 Windows에서 예약되어 있기 때문입니다.

Ctrl+=가 제대로 작동하도록 이 기능을 끄려면 이 블로그 게시물의 "Windows 10에서 키보드 레이아웃을 전환하기 위한 바로 가기 키 변경" 지침을 따르세요.

'키보드 레이아웃 전환' 옵션을 '할당되지 않음'(또는 Ctrl+Shift에서 해제)으로 변경한 다음 확인을 선택한 다음 적용합니다. Ctrl+Shift+0 은 이제 키 바인딩으로 작동하며 터미널로 전달됩니다.

반면, 이 바로 가기 키를 여러 입력 언어에 사용하는 경우 settings.json 파일에서 사용자 지정 키 바인딩을 구성할 수 있습니다.

텍스트가 희미합니다.

일부 디스플레이 드라이버 및 하드웨어 조합은 이전 프레임의 데이터를 흐리게 하지 않으면서 스크롤 및/또는 더티 영역을 처리하지 않습니다. 이 문제를 완화하기 위해 이러한 글로벌 렌더링 설정의 조합을 추가하면 터미널 텍스트 렌더러에 의해 발생하는 하드웨어에 대한 부담을 줄일 수 있습니다.

내 색이 이상해 보입니다! 내 화면에 검은색 막대가 있습니다!

Important

이는 Windows 터미널 버전 1.2 이상에만 적용됩니다. Windows 터미널 1.0 또는 1.1에서 색 문제가 표시되거나 여기에 캡처되지 않은 문제가 있는 경우 버그를 제출하세요.

Windows 터미널 1.2 이상에서는 특정 애플리케이션 색 설정에 대한 이해가 향상되었습니다. 이러한 향상된 이해로 인해 사용자 환경이 저하되는 여러 호환성 블록을 제거할 수 있었습니다. 아쉽게도 문제가 발생할 수 있는 애플리케이션의 수가 적습니다.

알려진 문제 및 해결 방법 목록을 사용하여 이 문제 해결 항목을 최신 상태로 유지합니다.

PowerShell의 검은색 선(5.1, 6.x, 7.0)

터미널을 PowerShell의 PSReadline 선 편집 라이브러리와 결합하면 화면에서 검은색 선을 그릴 수 있습니다. 이러한 색이 잘못된 영역은 명령 매개 변수, 문자열 또는 연산자가 있는 프롬프트를 넘어 화면 전체로 확장됩니다.

PSReadline 버전 2.0.3이 릴리스되었으며 이 문제에 대한 수정을 포함하고 있습니다. PSReadline 시험판 버전을 사용하는 경우 수정은 아직 사용할 수 없습니다.

최신 버전의 PSReadline으로 업데이트하려면 다음 명령을 실행하세요.

Update-Module PSReadline

내 이모지가 아이콘으로 점프 목록에 표시되지 않는 이유는 무엇인가요?

파일 위치에서 연결된 이미지만 점프 목록에서 프로필 아이콘으로 렌더링될 수 있습니다. 이모지는 점프 목록 아이콘으로 지원되지 않습니다.

기술 참고 사항

API의 GetConsoleScreenBufferInfo 패밀리를 사용하여 Win32 형식의 활성 콘솔 색을 검색한 다음, 플랫폼 간 VT 시퀀스로 변환(예: BACKGROUND_RED\x1b[41m으로 변환)하려고 시도하는 애플리케이션은 애플리케이션에서 사용하려는 배경색을 검색하는 터미널의 기능을 방해할 수 있습니다.

애플리케이션 개발자는 색을 조정하기 위해 Windows API 함수 또는 VT 시퀀스를 선택하고 혼합하지 않는 것이 좋습니다.

키보드 서비스 경고

Windows 터미널 1.5부터 "터치 키보드 및 필기 패널 서비스"를 사용하지 않도록 설정하면 터미널에 경고가 표시됩니다. 이 서비스는 운영 체제에서 입력 이벤트를 터미널 애플리케이션(및 Windows의 다른 많은 애플리케이션)으로 올바르게 라우팅하는 데 필요합니다. 이 경고가 표시되면 다음 단계에 따라 서비스를 다시 사용하도록 설정할 수 있습니다.

  1. 실행 대화 상자에서 services.msc를 실행합니다.

    services.msc in the run dialog

  2. "터치 키보드 및 필기 패널 서비스"를 찾습니다.

    Touch Keyboard and Handwriting Panel Service in Services.msc

  3. 이 서비스에 대한 "속성"을 엽니다.

    service properties

  4. "시작 유형"을 "자동"으로 변경합니다.

    service startup type

  5. "확인"을 누르고, PC를 다시 시작합니다.

컴퓨터를 다시 시작하면 서비스가 자동으로 시작되고 대화 상자가 더 이상 표시되지 않습니다.

git bash 명령줄을 사용할 때 깜박이는 이유는 무엇인가요?

Windows 터미널 내에서 git bash 명령줄을 사용할 때 깜박이는 것을 볼 수 있습니다. 이 동작은 실제로 의도된 것입니다. 터미널에서 git bash에서 지시하는 작업을 수행하고 있지만(bell-style(벨 스타일)을 visible로 설정하여 플래시가 벨 응답과 연결되도록 함) 이로 인해 주의가 산만하게 될 수 있습니다. 이 문제를 해결하려면 텍스트 편집기를 사용하여 Git bash에 대한 .inputrc 파일을 엽니다. 이 파일은 C:\Program Files\Git\etc 경로에 있을 수 있습니다. Nano 텍스트 편집기를 사용하여 엽니다(nano ~/.inputrc).

기본값을 변경합니다.

# none, visible or audible
set bell-style visible

bell-style을 none 또는 audible로 설정하여 표시되는 플래시를 제거합니다.

set bell-style none

Ctrl+O 및 Ctrl+X를 눌러 저장하고 종료합니다.

Windows 터미널의 설정을 기본 설정으로 다시 설정하려면 어떻게 할까요?

설정을 원래 기본 설정으로 다시 설정하려면 settings.json 파일을 삭제합니다. 그러면 Windows 터미널에서 원래 기본 설정을 사용하여 settings.json 파일을 다시 생성합니다.

Important

Windows 터미널 버전 1.10 이상에서는 설정을 기본값으로 완전히 다시 설정하려면 settings.json 파일과 동일한 디렉터리에서 state.json 파일도 삭제해야 합니다.

아크릴 불투명도가 Windows 터미널 배경을 투명하게 만들지 않는 이유는 무엇인가요?

useAcrylic 속성으로 터미널 창의 투명도를 설정할 수 있습니다. 아크릴에서 불투명도 설정이 작동하지 않는 몇 가지 이유는 다음과 같습니다.

  • 아크릴은 시스템 전체 정책으로 포그라운드 창에만 사용할 수 있습니다. 따라서 터미널 이외의 다른 창을 활성화하면 터미널의 아크릴이 꺼집니다.
  • GPU 하드웨어에서 아크릴을 지원하지 않는 경우 아크릴이 작동하지 않습니다. VM(Virtual Machine)에서 또는 원격 데스크톱을 통해 앱을 실행하는 경우 아크릴이 작동하지 않을 수 있습니다.
  • 전원 절약(배터리 부족) 모드이거나 원격 데스크톱을 사용하여 컴퓨터에 액세스하는 등 여러 가지 이유로 운영 체제에서 아크릴을 사용하지 않도록 설정할 수 있습니다.

창을 마우스로 가리키고 입력할 때 마우스 포인터가 사라지는 이유는 무엇인가요?

이 커서 자동 숨기기 동작은 기본적으로 설정되지만, Windows 설정에서 "마우스 설정" > "추가 마우스 설정" > "마우스 속성" > "포인터 옵션" > "입력하는 동안 포인터 숨기기"를 선택 취소하여 사용하지 않도록 설정할 수 있습니다. 이 변경 내용을 적용하려면 Windows 터미널을 다시 시작해야 할 수 있습니다.