Notice
Recent Posts
Recent Comments
Link
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

coding etude

[ubuntu] zsh 설치 부터 사용까지(z-shell)(1) 본문

others TIL

[ubuntu] zsh 설치 부터 사용까지(z-shell)(1)

코코리니 2021. 1. 7. 23:38

1. zsh는 무엇인가?

우선 ubuntu 를 사용하는 가난한 유져로서.. 지금까지 bash 를 사용해 왔는데 왜 굳이 zsh로 변경을 했을까 생각 하면 

일단 디자인과 MacOS의 기본 z-shell 이기때문이라는 반반의 마음이였달까?? (언젠가.. MacBook를 쓸겠지...ㅠ)

 

zsh 는 기본적으로 bash 와 매우 흡사하고 동일한 기능을 가지고 있으면 그 외 bash 에는 없는 추가기능 들이 추가되어 있다. 

거대한 커뮤니티를 형성하고 있는 zsh은 oh my zsh 이라는 plugin 프레임 워크를 토하여 다양한 플러그인과 테마를 제공하고 있다. 또, 기본 제공되는 맞춤법 수정, 향상된 명령 줄 완성, 셸의 플러그인 역할을하는 로드 가능한 모듈, 명령 대신 파일 이름 또는 명령 줄의 다른 항목을 별칭으로 지정할 수있는 전역 별명생성 등의 추가적인 기능이 있다.

 

솔직히 여기까지만 보면 무슨말인지 잘 이해가 안갈수도 있다. 그래서 오늘 설치부터 가벼운 옵션설정까지 경험했던 것들을 기록하려고 한다.

 

2. zsh & ohmyzsh 설치하기

아래에 링크된 ohmyzsh github에 가면 설치방법이 OS 별로 설명이 되어 있다.

ohmyzsh github wiki : github.com/ohmyzsh/ohmyzsh/wiki/Installing-ZSH(zsh설치)

apt install zsh

자, 이제 zsh를 설치 했다면 ohmyzsh를 설치해야 한다. 

ohmyzsh github : github.com/ohmyzsh/(ohmyzsh 설치)

여러가지 설치 방법이 있는데 아래 방법중 하나를 선택해서 터미널에 복사붙여넣기 하면 된다고 친절하게 설명되어 있다.

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

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

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

설치가 진행되다보면 기본 shell 을 zsh 로 변경할것인지 물어보는 문구가 나오는데 주저없이 y를 눌러준다.

기본값으로 지정해주기
설치 완료

자 여기까지 왔다면 기본 설치과정은 끝이 났다.

이제 설정값을 바꿔 줘야 하는데 이 설정값은 방법만 알면 사용자가 필요한 설정을 직접 수정하고 추가하면 된다.

 

3. ohmyzsh 설정

우선 chsh (shell change) 를 이용해서 계정에 shell 을 로그인 시켜서 사용해야 한다. 

// zsh의 경로 파악
which zsh
//ex) usr/bin/zsh

// chsh를 사용하여 새로운 shell 로그인
chsh -s zsh경로
//ex)chsh -s zsh usr/bin/zsh

위의 두 과정을 순서대로 진행했다면 이제 본격적인 설정을 해주면 된다.

설정을 위해서는 vim와 nano 중 하나를 선택해서 사용하면 된다.

//vim 을 사용
vi ~/.zshrc

//nano를 사용
sudo nano ~/.zshrc

vim zshrc

위에 보는것과 같이 각 옵션은 줄로 구분이 되어 있고 설명과 설정이 한블록으로 묶여있다.

어떤 설정 값이 있는지 구글검색해보고 필요한 설정에서 #을 지우면 된다.(# 표시는 주석)

다음의 몇 가지 유용한 팁을 보고 설정하면 된다.

테마 설정

위의 테마자리에 테마 NAME를 입력하면 테마가 바뀐다. 

테마의 종류는 위의 링크주소의 정보를 참조하면 된다.

 

플러그인 설정

가장 중요한 플러그인 설정... 

플러그인에 등록된 것들만 zsh에서 사용 할 수 있다고 생각하면 된다..

 

처음에 zsh를 설치하고 npm/nvm/node 등 주로 사용하는 명령을 입력하면 zsh: commend is not found : 명령어 라는 에러가 뜨면서 사용을 할 수 없다고 뜬다... 이것 때문에 돌아다닌 외국 사이트만.. ㅠㅠ

결국 답은 ohmyzsh 의 링크 페이지에 사용방법이 나와 있다. 단순하게 추가만하면 된다.

plugins=(
	git
        nvm
        npm
        node
        .
        .
        .
        .
        )

이렇게 입력하면 끝난다. 

 

4.추천 plugin

 

①zsh-autosuggestions 플러그인 : github.com/zsh-users/zsh-autosuggestions

 

zsh-users/zsh-autosuggestions

Fish-like autosuggestions for zsh. Contribute to zsh-users/zsh-autosuggestions development by creating an account on GitHub.

github.com

이전에 사용했던 명령어를 자동완성 해주는 기능 (-> 키를 누르면 자동 완성이 된다.)

 

위 링크에서 installation을 보면 설치 방법과 사용방법이 모두 나와있다.

 

auto suggestions 설치와 사용

1번의 방법으로 설치를 하고, 2번의 방법으로 plugins 를 설정해 주면 된다.

 

zsh-autosuggestions 설치 후

 

②zsh-syntax-highlighting 플러그인 : github.com/zsh-users/zsh-syntax-highlighting

 

zsh-users/zsh-syntax-highlighting

Fish shell like syntax highlighting for Zsh. Contribute to zsh-users/zsh-syntax-highlighting development by creating an account on GitHub.

github.com

syntax가 틀리면 알려주는 하이라이트 플러그인 이다.

아래의 터미널 처럼 실행 되지 않는 것은 색이 변해서 나온다.

zsh-syntax-highlighting 설치 후

 

 

자! 그럼 이제 끝!! 이라고 생각했지만... 전혀 설정값이 변하지 않는다...

.zshrc에서 수정한 내용을 반영하려면 한번의 과정이 더 필요하다.

// .zshrc 적용하기
source ~/.zshrc

 .zshrc 의 내용을 변경 했다면 항상 위의 명령어를 터미널에 입력해줘야지만 수정된 내용이 적용된다.

 

 

지금까지 설치부터 설정까지 모두 확인해 봤는데 여기서 한가지 문제점이 더 발생 할 수 있다.

바로 폰트.. 

모든 설정을 끝냈는데 이상하고 폰트가 깨진다면... 다음 포스팅에서 상세히 알아보로고 합시다~~