자습서 - Oh My Posh를 사용하여 PowerShell 또는 WSL에 대한 사용자 지정 프롬프트 설정

이 자습서에서는 Oh My Posh를 사용하여 PowerShell 또는 WSL(Linux용 Windows 하위 시스템)에 대한 명령 프롬프트를 사용자 지정하는 데 도움이 되는 몇 가지 리소스와 지침을 제공합니다. Oh My Posh는 Git 상태 색 코딩 및 프롬프트를 제공하는 사용자 지정 명령 프롬프트 환경에 대한 테마 기능을 제공합니다.

이 자습서에서는 다음을 하는 방법을 알아볼 수 있습니다.

Windows Terminal Custom Prompt

Nerd Font 설치

사용자 정의된 명령 프롬프트는 종종 프롬프트 스타일을 지정하기 위해 문자 모양(그래픽 기호)을 사용합니다. 글꼴에 적절한 문자 모양이 포함되지 않은 경우 프롬프트 전체에 여러 유니코드 대체 문자('▯')가 표시될 수 있습니다. 터미널에서 모든 문자 모양을 보려면 Nerd Font를 설치하는 것이 좋습니다.

(Cascadia Code와 같은 글꼴을 원하는 경우 Caskaydia Cove Nerd Font는 커뮤니티 멤버에 의해 Cascadia Code 리포지토리에서 작성되었습니다.)

다운로드하면 글꼴의 압축을 시스템에 풀어 설치해야 합니다. (새 글꼴을 Windows에 추가하는 방법)

Oh My Posh 및 Terminal-Icons에서 사용할 Nerd Font를 설정하려면 Windows 터미널 드롭다운 메뉴에서 설정(Ctrl+,)을 선택하여 Windows 터미널 설정 UI를 엽니다. 글꼴을 적용할 프로필(예: PowerShell)을 선택한 다음, 모양 탭을 선택합니다. 글꼴 드롭다운 메뉴에서 CaskaydiaCove Nerd Font 또는 사용자 지정된 프롬프트에 사용할 Nerd 글꼴을 선택합니다.

참고 항목

Cascadia Code PL과 같이 문자 모양 아이콘을 지원하지 않는 터미널 글꼴을 사용하려는 경우, 추가 아이콘이 필요하지 않음을 나타내는 minimal 함수가 포함된 Oh My Posh 테마를 사용하는 것이 좋습니다.

Oh My Posh를 통해 PowerShell 프롬프트 사용자 지정

Oh My Posh를 사용하면 기본 제공 테마를 사용하거나 사용자 고유의 사용자 지정 테마를 만들 수 있는 기능을 포함하여 터미널 프롬프트를 정의하고 렌더링하는 전체 색 세트를 사용할 수 있습니다.

PowerShell용 Oh My Posh 설치

PowerShell 프롬프트를 사용자 지정하려면 winget을 사용하여 Oh My Posh를 설치할 수 있습니다. 명령을 입력합니다.

winget install JanDeDobbeleer.OhMyPosh

그러면 다음이 설치됩니다.

원본 조건에 동의해야 하며 둘 이상의 패키지를 사용할 수 있는 인스턴스를 발견하게 될 수 있습니다. 이 경우 사용하려는 패키지 ID를 선택하고 winget install <package ID> 명령을 다시 입력합니다.

Screenshot of winget install oh my posh packages.

새 버전을 사용할 수 있을 때 자동으로 업데이트되는 Oh My Posh의 Microsoft Store 버전을 사용하려면 다음 명령을 사용합니다.

winget install XP8K0HKJFRXGCK

oh-my-posh version을 입력하여 Oh My Posh 설치의 버전 번호를 확인합니다. 최신 업데이트가 있는지 확인하기 위해 winget upgrade oh-my-posh 명령을 사용할 수 있습니다.

참고 항목

PowerShell에서 최신 버전의 Oh My Posh를 설치하려면 먼저 OMP 모듈의 캐시된 파일을 제거하고 이전 모듈을 제거할 수 있습니다. 이 작업을 수행하는 방법에 대한 지침은 Oh My Posh 문서에 있습니다. Scoop 설치 관리자 또는 자동화를 허용하는 수동 설치 방법에 대해 더 잘 알고 있는 경우 Windows에 설치하는 데 사용할 수도 있습니다. Oh My Posh 문서의 지침을 따르세요.

PowerShell 프롬프트 테마 선택 및 적용

Oh My Posh 테마 페이지에서 테마의 전체 목록을 찾아볼 수 있습니다.

테마를 선택하고, 다음 명령을 사용하여 PowerShell 프로필을 업데이트합니다. (notepad를 원하는 텍스트 편집기로 바꿀 수 있습니다.)

notepad $PROFILE

경로 오류가 발생하면 PowerShell에 대한 프로필이 아직 없을 수 있습니다. 프로필을 만들려면 다음 PowerShell 명령을 사용하여 프로필을 만든 다음 텍스트 편집기를 사용하여 다시 열어 봅니다.

new-item -type file -path $profile -force

다음을 PowerShell 프로필 파일의 끝에 추가하여 paradox 테마를 설정합니다. (paradox를 원하는 테마로 바꿉니다.)

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\paradox.omp.json" | Invoke-Expression

이제 각각의 새 PowerShell 인스턴스가 Oh My Posh를 가져오고 명령줄 테마를 설정하여 시작됩니다.

새 PowerShell 인스턴스를 열려고 할 때 스크립트 오류가 발생하면 PowerShell에 대한 실행 정책이 제한될 수 있습니다. PowerShell 실행 정책을 무제한으로 설정하려면 관리자 권한으로 PowerShell을 시작하고 다음 명령을 사용해야 합니다.

Set-ExecutionPolicy -ExecutionPolicy Unrestricted

참고 항목

이 프로필은 Windows 터미널 프로필이 아닙니다. PowerShell 프로필은 PowerShell이 시작될 때마다 실행되는 스크립트입니다. PowerShell 프로필에 대한 자세한 정보를 알아보세요.

일반적인 질문이나 문제에 대한 답변은 Oh My Posh FAQ를 참조하세요. 현재 작업 디렉터리를 복원하는 방법과 같은 구성 및 일반 설정에 대한 자세한 내용은 Oh My Posh 문서를 참조하세요.

Oh My Posh를 통해 WSL 프롬프트 사용자 지정

이제 Oh My Posh를 사용하여 기본 제공 테마를 사용하여 PowerShell 프롬프트를 사용하는 것처럼 WSL 프롬프트를 사용자 지정할 수 있습니다.

WSL용 Oh My Posh 설치

Bash, Zsh 등을 사용하는지 여부에 관계없이 Oh My Posh 문서의 Linux 설치 가이드에 따라 WSL용 Oh My Posh를 설치하는 것이 좋습니다.

현재 Oh My Posh로 WSL 프롬프트를 사용자 정의하기 위한 권장 경로는 설치를 위해 Homebrew 패키지 관리자를 사용합니다. (Homebrew는 이제 WSL과 함께 작동합니다!) Linux용 Homebrew를 설치할 때 다음 단계 지침에 따라 Homebrew를 PATH와 bash 셸 프로필 스크립트에 추가해야 합니다.

Homebrew는 다음을 설치합니다.

  • oh-my-posh - 실행 파일, /usr/local/bin에 추가됨
  • themes - 최신 Oh My Posh 테마

WSL 프롬프트 테마 선택 및 적용

Oh My Posh 테마는 oh-my-posh 디렉터리에서 JSON 파일로 찾을 수 있습니다. cd $(brew --prefix oh-my-posh)를 입력한 다음, 목록에 대해 cd themesls만 입력하면 찾을 수 있습니다. WSL을 통해 실행되는 Ubuntu-20.04의 경우 경로는 \\wsl.localhost\Ubuntu-20.04\home\linuxbrew\.linuxbrew\Cellar\oh-my-posh\6.34.1\themes와 같을 수 있습니다. Oh My Posh 문서: 테마에서도 테마가 어떻게 보이는지 확인할 수 있습니다.

테마를 사용하려면 themes 폴더에서 $Home 폴더로 복사한 다음, $Home 폴더에 있는 .profile 파일 맨 아래에 이 줄을 추가합니다.

eval "$(oh-my-posh init bash --config ~/jandedobbeleer.omp.json)"

$Home 폴더에 복사하기만 하면 jandedobbeleer.omp.json를 사용하려는 테마의 이름으로 바꿀 수 있습니다.

또는 PowerShell 및 WSL을 사용하는 Windows에서 oh-my-posh를 사용하는 경우 Windows 사용자의 홈 폴더에 있는 테마를 지정하여 PowerShell 테마를 WSL과 공유할 수 있습니다. WSL 배포의 .profile 경로에서 ~를 /mnt/c/Users/<WINDOWSUSERNAME> 경로로 바꿉니다. <WINDOWSUSERNAME>를 자신의 Windows 사용자 이름으로 바꿉니다.

원하는 경우 Oh My Posh 테마를 사용자 지정할 수 있습니다.

Terminal-Icons를 사용하여 누락된 폴더 또는 파일 아이콘 추가

Terminal-Icons는 Windows 터미널에서 파일 또는 폴더를 표시할 때 누락될 수 있는 파일 및 폴더 아이콘을 추가하고 이름 또는 확장자를 기반으로 적절한 아이콘을 찾는 PowerShell 모듈입니다. 잘 알려진 파일/폴더에 대한 아이콘을 사용하려고 시도하지만 찾을 수 없는 경우 일반 파일 또는 폴더 아이콘으로 대체합니다.

PowerShell로 Terminal-Icons를 설치하려면 다음 명령을 사용합니다.

Install-Module -Name Terminal-Icons -Repository PSGallery

사용법 및 명령을 포함한 자세한 내용은 GitHub의 Terminal-Icons 리포지토리를 참조하세요.

추가 리소스

  • Oh my Posh 설명서
  • Terminal-Icons 리포지토리
  • Posh-Git 문서: Posh-Git은 PowerShell 프롬프트에 표시할 수 있는 Git 상태 요약 정보를 제공하여 Git과 PowerShell을 통합하는 PowerShell 모듈입니다.
  • PowerLine 문서: Powerline은 vim용 상태 표시줄 플러그 인이며 zsh, bash, tmux, IPython, Awesome, i3 및 Qtile을 비롯한 여러 다른 애플리케이션에 대한 상태 표시줄과 프롬프트를 제공합니다.