참고 문헌
Window 10 (정리하긴 했는데 그냥 아래 블로그에서 적당히 따라했다)
Windows에서 Oh My Posh 즐기기
Window 11
1. PowerShell 꾸미기 < 따라하다가 오류 발생...
2. 못생긴 windows Powershell 예쁘고 쓸만하게 만들기 < 위에서 설치한 내용 바탕으로 추가
3. 경고 뜨고, 아이콘 안 뜨는 오류는 chatgpt 도움으로 결국 꾸미기 성공
환경 : 오래 전에 Window 10 Pro 로 구매했으나 2024-12-25에 무료로 11 업그레이드,
진행 도중에 내 pc Windows 11 Pro은 이미 powershell 버전은 7이었다. (5가 아니고..?)
이미 꾸미기 완료 하고 기억 나는대로 적은거라 완벽하지 않을 수 있다;
++ 2025-02-02 pc를 Win 10으로 재설치하면서 또 다르게 에러가 난다. Win 10은 참고 블로그를 눈치껏 따라하는게 좋을듯 싶다.
mac에서 iTerm, oh-my-zsh, powerlevel10k로 커스텀해서 살다가
오랜만에 windows로 넘어와서 싹 포맷 후 11 버전으로 업글하고 cmd, powershell을 열었더니... 삭막해졌다...
미감이 죽은 채로 덜 예민하게 살아도 무방한 감각이었으면 좋았으련만...
아무튼
참고문헌의 1 블로그를 따라서 여러개 설치했다.
(맥의 brew에 익숙해지고, 윈도우의 커맨드가 뭔지 잘 몰라서 헤맸지만 40분 만에 꾸미기는 완료한거 같다)
Nerd Fonts 사이트에서 사용할 폰트 설치
https://www.nerdfonts.com/font-downloads
위의 사이트 들어가서, 나는
FiraCode Nerd Font, FiraMono Nerd Font를 설치했다.
예전에 이런 특정 테마?에 써야하는 폰트를 설치해야하는 걸 몰랐을 적에는
eclipse, sts, notepad++ 에서 주로 'D2Coding'를 사용했었는데
각자 OS theme에 맞는 아이콘까지 정상 조회되려면
해당 테마에 맞는 font로 지정해야하더군요, 아무튼
Windows Terminal 설치
난 이미 Windows 10 에서 11 로 버전 Up 되고 나니 기본으로 설치되어 있길래 잘 모르겠다.
Window 11 에서는 Terminal이 자동으로 설치되어 있었는데
Window 10 으로 다운그레이드 하니까 없다... 그렇군요 설치한다.
Microsoft Store - Terminal - 소유함(설치GO) - 끝.
Windows Terminal 시작 설정, 폰트 설정
Terminal이 prompt로 시작시킬지, powershell로 시작시킬지 설정하고
폰트도 설정해줄 것이다.
작업 표시줄 - 검색 - 터미널 >
'설정' 열기.
Terminal을 열거나 + 탭을 누르면 'Windows PowerShell'로 시작하게 설정.
이제 PowerShell 인 경우 폰트를 바꾸러 간다. (다른 shell 도 폰트 변경해둬도 좋을듯)
Windows PowerShell - 추가 설정 - 모양
아까 설치했던 Fira 머시기 각자의 폰트로 '글꼴'에 변경
Scoop, Neovim, gcc 설치
scoop은 mac의 brew 같은거려나. 아무튼 저거 다 설치 안되어있어서 했다.
Scoop
아래에서 첫번째 cmd를 치면 Y / N 뭐시기 할거냐 물어보는데 Always Y (항상 네) 였던가를 해야했던 거 같다...
잘 몰라서 의심스럽길래 그냥 Y 했더니 나중에 명령어가 잘 안 먹혀서 또 물어봤던 것 같다.
# scoop
$ Set-ExecutionPolicy RemoteSigned -Scope CurrentUser # Optional: Needed to run a remote script the first time
$ irm get.scoop.sh | iex
Neovim
vi, nano 그런 명령어인가 아무튼 설치하라니까 일단 설치
gcc
c언어 compiler라고 한다.
$ scoop install neovim gcc
여기까지 설치했으면 한 번 컴퓨터를 재부팅한다. 다시시작, 껐다 켜기.
⭐ ⭐ ⭐ 진행하다 오류 내용 ⭐ ⭐ ⭐
1. user_profile.ps1 파일에 Set-Alias 입력 후 저장하면? 저장이 안됐다.
2. scoop으로 Oh My Posh git 설치가 안된다.
테마를 안 정해놔서 일단 뭐라도 됐으면 좋겠는데 다 오류가 나서 다른 블로그를 찾았다.
두번째 블로그에서는
powershell 기본이 5라길래 7을 설치하래서 일단 설치했다.
(근데 이미 내 pc powershell은 버전 7.4. 뭐시기였던거 같은데 또 해도 무방하니까 그냥 따라가기)
# powershell install
winget search Microsoft.PowerShell
winget install --id Microsoft.Powershell --source winget
일단 하단의 추천 bucket들 설치 명령어를 수행하면 설치가 안된다고 오류가 뜬다.
밑의 git을 먼저 설치하라고 친절한 설명이 뜨니, git을 먼저 설치한다.
$ scoop install git
그 후에 bucket 설치 명령어가 잘 수행된다.
$ scoop bucket add extras
$ scoop bucket add java
$ scoop bucket add nerd-fonts
$ scoop install aria2
# 본인이 설치한 폰트명?
$ scoop install which fzf jq zoxide fd nerd-fonts bat FiraMono-NF
# 아무튼 이건 오류 발생. [Couldn't find manifest for 'nerd-fonts'.]
# 안써봤는데 좋아보여서 넣어봄? (뭔지 모르겟지만 일단 참고 블로그 따라함;)
$ scoop install sudo curl grep gzip tar touch vim neovim 7zip powertoys bottom ntop
$ scoop install coretemp cpu-z crystaldiskinfo aria2 crystaldiskmark filezilla honeyview hwmonitor hxd postman putty unlocker vscode python everything openjdk17 python nvm mysql yarn docker
$ scoop install kubectx k9s
중간에 안되던 것도 있던거 같은데 몰러 걍.. 필수는 아닌듯 하여;
zoxide 설치
path를 저장해 주는 도구. Win 10에서 진행하다 안돼서 확인해보니 이 부분이 없다고 한다.
설치하자마자 뭔가 폰트가 바뀌면서 적용되는 듯? (아닐수도)
scoop install zoxide
Invoke-Expression (& { (zoxide init powershell | Out-String) })
또 oh-my-posh 설치 오류?
아래 3개 중 첫 번째는, Terminal에서 진행하면 아래와 같은 권한 요구 문구가 뜨기 때문에,
Install-Module Terminal-Icons -Repository PSGallery -Force
Install-Module posh-git -Scope CurrentUser -Force
Install-Module oh-my-posh -Scope CurrentUser -Force
Install-Module : 'C:\Program Files\WindowsPowerShell\Modules'에 모듈을 설치하려면 관리자 권한이 필요합니다. 관리자 권한
이 있는 계정으로 컴퓨터에 로그온한 후 다시 시도하거나 "-Scope CurrentUser"를 명령에 추가하여 'C:\Users\parks\Documents\
WindowsPowerShell\Modules'을(를) 설치하십시오. 관리자 권한(관리자 권한으로 실행)으로 Windows PowerShell 세션을 실행해
볼 수도 있습니다.
위치 줄:1 문자:1
+ Install-Module Terminal-Icons -Repository PSGallery -Force
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Install-Module], ArgumentException
+ FullyQualifiedErrorId : InstallModuleNeedsCurrentUserScopeParameterForNonAdminUser,Install-Module
PowerShell (터미널 아님!)을 '관리자 권한으로 열기'로 진행해서
NuGet 공급자에 대한 동의 Y를 입력하고, Install-Module 3개를 다시 진행한다.
위에서 oh-my-posh를 설치했음에도 불구하고 아래 2개 CLI를 실행하면
oh-my-posh init pwsh --config 'https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/atomic.omp.json' | Invoke-Expression
scoop install https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/oh-my-posh.json
다음과 같은 오류가 뜬다. 흠...
$ oh-my-posh init pwsh --config 'https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/atomic.omp.json' | Invoke-Expression
>>
oh-my-posh : 'oh-my-posh' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다.
이름이 정확한지 확인하고 경로가 포함된 경우 경로가 올바른지 검증한 다음 다시 시도하십시오.
위치 줄:1 문자:1
+ oh-my-posh init pwsh --config 'https://raw.githubusercontent.com/JanD ...
+ ~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (oh-my-posh:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
$ scoop install https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/oh-my-posh.json
WARN error: 원격 서버에서 (404) 찾을 수 없음 오류를 반환했습니다.
Couldn't find manifest for 'oh-my-posh' at 'https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/oh-my-posh.json'.
+ Window 10 에선 계속 위의 오류가 떠서 검색 ( 참고 블로그 ) 해서
$ Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
위의 명령어 실행 후,
실행 규칙 변경
실행 정책은 신뢰하지 않는 스크립트로부터 사용자를 보호합니다. 실행 정책을 변경하면 about_Execution_Policies 도움말
항목(https://go.microsoft.com/fwlink/?LinkID=135170)에 설명된 보안 위험에 노출될 수 있습니다. 실행 정책을
변경하시겠습니까?
[Y] 예(Y) [A] 모두 예(A) [N] 아니요(N) [L] 모두 아니요(L) [S] 일시 중단(S) [?] 도움말 (기본값은 "N"): A
실행 규칙은 N에서 A로 변경했다... (근데 이거 위에서 ' Set-ExecutionPolicy RemoteSigned -Scope CurrentUser' 이거로 했는데도 왜 또..?)
++ Win 11에선 어찌저찌 됐는데 Win 10에선 oh-my-posh가 계속 설치가 안되는 오류로 인해서
또 검색해서(참고블로그)... 추가 설치 명령어를 실행했다.
$ winget install JanDeDobbeleer.OhMyPosh -s winget
그리고 아래 나와있는 profile.ps1 파일 부분에서
# oh-my-posh 초기화
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\easy-term.omp.json" | Invoke-Expression
여기를 Win 10일 땐,
# oh-my-posh 초기화
oh-my-posh init pwsh | Invoke-Expression
이렇게 바꾸니까 먹혔다.. 사실 커맨드 하나하나 분석해서 해야하지만, 귀찮아서 막했더니 일어난 참사;
(처음에 이렇게 했다가 나중에 밑에 가서 Theme 다시 config 해주니 먹혔다)
아무튼
Win 10에서 어찌저찌 성공해서 Terminal을 열면 이렇게
Win 11에선 Terminal을 열면 이렇게 뜨긴 한다...
(Win 11일 땐) Terminal을 열 때마다 빨간색 글씨로
아래와 같은 경고들이 뜨기 시작했다.
경고: PSReadLine ?듭뀡? PowerShell 7 ?댁긽?먯꽌留?吏?먮맗?덈떎.
Set-PSReadLineOption : 매개 변수 이름 'PredictionSource'과(와) 일치하는 매개 변수를 찾을 수 없습니다.
위치 C:\Users\user\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1:12 문자:22
+ Set-PSReadLineOption -PredictionSource History
+ ~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Set-PSReadLineOption], ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.SetPSReadLineOption
Set-PSReadLineOption : 매개 변수 이름 'PredictionViewStyle'과(와) 일치하는 매개 변수를 찾을 수 없습니다.
위치 C:\Users\user\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1:13 문자:22
+ Set-PSReadLineOption -PredictionViewStyle ListView
+ ~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Set-PSReadLineOption], ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.SetPSReadLineOption
Set-Alias : 'history' 별칭에서 AllScope 옵션을 제거할 수 없습니다.
위치 C:\Users\user\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1:18 문자:1
+ Set-Alias history historyfunc
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : WriteError: (history:String) [Set-Alias], SessionStateUnauthorizedAccessException
+ FullyQualifiedErrorId : AliasAllScopeOptionCannotBeRemoved,Microsoft.PowerShell.Commands.SetAliasCommand
bash 설정
$ notepad $profile
로 설정을 바꾸고 반영하는
$PROFILE
를 실행했음에도
인코딩 깨짐 + 못찾겠단 경고가 계속 떴다. chatgpt가 도와준 최종 bash 설정은 이러하다.
⭐주의 : 나는 기존에 설정값들이 있어서 그 내용을 바탕으로 chatgpt가 수정해준 것이기 때문에,
다른 오류가 발생할 수 있으니 각자 환경에 맞게 수정해야한다.
# oh-my-posh 초기화 테마 설정. 바로 config Theme 지정이 안된다면 이거로 먼저 실행?
oh-my-posh init pwsh | Invoke-Expression
# oh-my-posh 초기화 및 테마 지정 (Theme : https://ohmyposh.dev/docs/themes)
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\easy-term.omp.json" | Invoke-Expression
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH/M365Princess.omp.json" | Invoke-Expression
# Terminal-Icons 모듈 불러오기
Import-Module -Name Terminal-Icons
# zoxide 초기화
Invoke-Expression (& { (zoxide init powershell | Out-String) })
# 별칭 설정
Set-Alias vim nvim
Set-Alias ll ls
Set-Alias grep findstr
Set-Alias k kubectl
# PSReadLine 키 설정
Set-PSReadLineOption -EditMode Emacs
Set-PSReadLineOption -BellStyle None
Set-PSReadLineKeyHandler -Chord 'Ctrl+d' -Function DeleteChar
# PowerShell 7 이상에서만 PSReadLine 설정 적용
if ($PSVersionTable.PSVersion.Major -ge 7) {
try {
Set-PSReadLineOption -PredictionSource History
Set-PSReadLineOption -PredictionViewStyle ListView
} catch {
# 오류 발생 시 메시지 출력 안 함
}
}
# history 함수 정의 및 별칭 설정
function historyfunc {
type $env:APPDATA\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt
}
Remove-Item Alias:history -Force # 기본 history 별칭 제거
Set-Alias history historyfunc # history 별칭으로 새로 설정
기존에 뜨던 빨간 경고들과 + 아이콘이 안 뜨던 것들 등 해결이 되었고
최종적으로는 아래와 같이 잘 뜨고 있다.
순서랑 설정값은 모르겠지만 사실 노트북 포맷을 잘하는지라 나중에 까먹을 나를 위하여... 기록해둔다.
'설치' 카테고리의 다른 글
[VS Code] 상황별 유용한 Extension 설치 (0) | 2025.02.21 |
---|---|
[mac] Spring boot 4 | Spring Starter Project (Gradle) (0) | 2025.01.14 |
[mac] notion 설치 (0) | 2024.10.23 |