라즈베리파이반

라즈베리파이 등 컴퓨터계열 게시판입니다.

제목oh-my-zsh 설치하기2023-01-08 00:45
작성자user icon Level 4

88x31.png


이번에 라이즈베파이4를 구매하게 되었습니다. 가격이 많이 올랐네요...


이번글에서는 라즈베리파이os에 zsh Configuration 프레임워크인 Oh My Zsh를 설치해보도록 하겠습니다.

해당 내용은 우분투에서도 동일합니다.



1. 커널(Kenel)과 쉘(Shell) 


oh my zsh를 설치하기 전에 커널(Kernel)쉘(Shell)이 무엇인지 알 필요가 있습니다. 


컴퓨터는 크게 물리적인 형태를 가지고 있는 하드웨어(HardWare)와 형태는 없지만 하드웨어를 동작시키는 소프트웨어(Software)로 구성되어 있습니다.


소프트웨어는 운영체제(Operating System, OS)와 운영체제 위에서 동작하는 응용 소프웨어

(Application Software)로 나눌 수 있습니다.


운영체제는 하드웨어를 효율적으로 사용하기 위해 메모리나 CPU의 자원을 관리하고 여러 프로그램이 필요로 하는 공통적인 서비스를 제공하는 소프트웨어입니다. 리눅스(Linux), 윈도우(Windows), 맥OS(Mac OS)등이 운영체제에 해당합니다.


운영체제는 커널(Kenel)시스템 소프트웨어(System Software)로 구분됩니다.


커널은 운영체제의 핵심부로써, 하드웨어의 자원을 관리하는 역할을 수행합니다.


커널의 경우 컴퓨터 자원만을 바라보고 있기 때문에 사용자 또는 응용 소프트웨어와 상호작용 않습니다. 그러므로 커널과 상호작용하기 위한 인터페이스가 필요한데, 이때 사용하는 시스템 소프트웨어가 쉘(Shell) 입니다.


 


윈도우 운영체제에서는 명령 프롬프트(Command Prompt)가 쉘에 해당합니다.



2. zsh와 Oh My Zsh 


리눅스는 표준 쉘로써 bash를 사용합니다. BASH는 Bourne-again shell의 약자로, 유닉스의 오리지날 쉘인 sh(Bourne Shell)을 기반으로 만들어졌습니다. 대표적인 리눅스 기반 GNU 운영체제인 우분투(Ubuntu) 역시 bash를 사용합니다.


zsh는 bash, ksh, tcsh의 일부 기능을 포함하여 수많은 개선 사항이 갖추어진 확장형 sh입니다. Mac OS 10.15 버전인 카탈리나부터는 기본 쉘로 zsh를 사용합니다.


zsh는 커스텀이 비교적 자유로우며, 각종 테마나 플러그인의 추가/삭제가 가능합니다. 또한 경로를 자동으로 추론하거나 타이핑 교정, 명령어 추천 등 많은 기능을 포함합니다.


경로 자동추론

img003 

/h/u/ws를 입력후 TAB키를 누르면 가장 비슷한 경로를 추론하여 자동완성됩니다.


타이핑 교정

img004 

commit를 cmmit로 잘못입력했다면 이를 교정하여 commit를 입력할 것을 추천합니다.


명령어 추천 

img005 

git c를 입력후 TAB키를 누르면 c로 시작하는 명령어 옵션을 추천해줍니다.


Oh My Zsh는 zsh의 이러한 환경설정을 다루기위한 프레임워크입니다. 프레임워크 없는 zsh는 빈 껍데기에 불과하다고 보면 됩니다.


공식 홈페이지에 적힌 설명에 따르면 oh-my-zsh를 사용하면 카페에서 낮선 사람들이 다가와 "대단해! 너 천재야?"라고 묻는다고 합니다 :)


본격적으로 맥의 감성을 우분투에 반영해보겟습니다.



3. Oh My Zsh 설치


1) zsh 설치


우선 zsh를 설치해야합니다. apt를 통해 zsh를 설치해주도록 합시다.


zsh 설치 

 $ sudo apt install zsh

 


2) oh my zsh 설치 


다음으로 oh-my-zsh를 설치해주도록 합시다. curl이나 wget을 통해 sh 스크립트 파일을 다운받고 실행시키면 됩니다.


curl을 통한 설치

$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" 


wget을 통한 설치

$ sh -c "$(wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)" 


설치가 완료되면 zsh를 기본 쉘로 변경할 것인지 묻는데, y를 입력하면 터미널이 실행될 때 기본쉘로 zsh를 사용합니다.


3) 테마 설정


이제 테마를 설정하겠습니다. 테마는 .zshrc 파일에서 ZSH_THEME를 설정하여 변경할 수 있습니다.

vi 또는 nano 에디터를 통해 해당 파일을 편집합니다.


.zshrc 파일 편집

$ sudo nano ~/.zshrc


ZSH_THEME가 robbyrussell로 입력되어 있습니다. 이 부분에 사용하고 싶은 테마를 입력하면 됩니다.

저는 국룰(?)인 agnoster 테마를 사용하도록 하겠습니다.


 


CTRL + O를 눌러 저장하고 CTRL + X를 눌러 nano 에디터를 빠져나옵니다.

설정된 테마를 적용하기 위해 .zshrc를 소싱합니다.


.zshrc 소싱

$ source ~/.zshrc

 


해당 테마를 사용할 경우 폰트가 깨지는 문제가 발생할 수 있으므로, 이를 해결하기 위해 powerline 폰트를 설치합니다.


powerline 폰트 설치

$ sudo apt install fonts-powerline


다른 테마는 아래 페이지에서 확인이 가능합니다.

https://github.com/ohmyzsh/ohmyzsh/wiki/Themes 



4. 플러그인 설치


1) syntax hightlight


syntax hightlight는 말그대로 구문을 강조하는 플러그인 입니다.


GITHUB: https://github.com/zsh-users/zsh-syntax-highlighting 


​bash의 경우 명령어와 옵션을 구분하지 않고 모두 흰색으로 입력됩니다.


bash의 경우

 


zsh에 해당 플러그인을 설치한다면 구문이 강조되어 사용할 수 있는 명령어는 녹색으로, 사용할 수 없는 명령어는 빨간색으로, 옵션은 흰색으로 입력됩니다.


사용할 수 있는 명령어의 경우 

 


사용할 수 없는 명령어의 경우 

 


oh-my-zsh에서 플러그인을 사용하기 위해서는 ~/.oh-my-zsh/custom/plugins 폴더에 플러그인을 다운받고 .zshrc 파일에서 plugins를 설정하면 됩니다.


우선 git를 통해 플러그인을 다운로드 받겠습니다. (git가 설치되어 있음을 전제로 합니다.)


syntax hightlight 플러그인 다운로드

$ git clone https://github.com/zsh-users/zsh-syntax-hightlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting


vi 또는 nano 에디터를 통해 .zshrc 파일을 편집합니다.


.zshrc 파일 편집

$ sudo nano ~/.zshrc


처음에 plgins에 (git)가 설정되어 있습니다. 여기에 구분자를 스페이스로 하여 zsh-syntax-hightlight를 추가해주도록 합시다.

 


CTRL + O를 눌러 저장하고 CTRL + X를 눌러 nano 에디터를 빠져나옵니다.

.zshrc를 소싱하면 플러그인이 바로 적용됩니다.


.zshrc 소싱

$ source ~/.zshrc

 


2) autosuggestions


autosuggestions는 히스토리 기반으로 최근에 입력한 명령어를 미리보기 형태로 보여주는 플러그인 입니다.


GITHUB: https://github.com/zsh-users/zsh-autosuggestions 


autosuggestions 플러그인 적용 

 


플러그인을 적용하기 위해서는 syntax highlighte 플러그인을 적용한 방식 그대로 설정하면 됩니다.


autosuggestions 플러그인 다운로드

$ git clone https://github.com/zsh-users/zsh-autosuggestions.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions


vi 또는 nano 에디터를 통해 .zshrc 파일을 편집합니다.


.zshrc 파일 편집

 


.zshrc를 소싱하면 플러그인이 바로 적용됩니다.


.zshrc 소싱

$ source ~/.zshrc

 

#zsh# oh-my-zsh# syntax hightlight# autosuggestions
댓글
자동등록방지
(자동등록방지 숫자를 입력해 주세요)