🖥️ OS/Linux

[Linux_Ubuntu] 쉘 Zsh 설치 (Oh-My-Zsh 설치)

koko1177 2023. 5. 28. 18:33
반응형

셸(Shell)
 : 터미널 환경에서 운영체제의 커널(kernel)과 사용자 유저 스페이스(user space)를 이어주는 인터페이스(interface) 역할을 하는 프로그램
 (간단하게 설명하면, 사용자의 명령어 → 운영체제에 전달하여 실행, 그 결과물을 사용자에게 전달하는 역할을 하는 프로그램)

 

대표적인 셸로는 Bash가 있음. 거의 대부분의 유닉스 기반 OS(운영체제)에서 기본 셸로 설치됨.

 (Bash - UNIX 계열, Zsh - Mac, PowerShell - Windows)

 

이번에 설치해 볼 Zsh는 Bash와 큰 차이는 없지만 여러 다양한 편리한 기능을 제공하고, 특히 Oh My Zsh라는 Zsh 설정 매니저 플러그인을 통해 편리하게 셸을 설정할 수 있어 많이 사용되고 있음.

 

 

우분투에서 Zsh 설치하기

 1. Zsh 설치 및 버전 확인

# 패키지 목록 업데이트
$ sudo apt update

# Zsh 설치
$ sudo apt install zsh

# Zsh 버전 확인
$ zsh --version

 

 2. 기본 셸(디폴트 셸)을 Bash에서 Zsh로 변경

# 현재 기본 쉘 및 쉘 경로 확인 명령어 (/bin/bash 가 일반적임)
$ echo $SHELL

# Zsh 설치 경로 확인
$ which zsh

# 쉘을 Zsh로 변경
$ sudo chsh -s /usr/bin/zsh

# 만약, 경로를 찾지 못하겠다면 'which zsh' 사용
# sudo chsh -s $(which zsh)
더보기

'chsh -s' 명령어는 Ubuntu에서 사용자의 기본 셸을 변경하는 데 사용

# 'chsh: PAM: 인증 실패' 뜨면 편집기 들어가서
$ sudo vi /etc/pam.d/chsh

# 'auth required pam_shells.so' 부분 주석 처리하기

# 그 이후 아래 명령어 입력
$ sudo chsh $USER -s $(which zsh)

 

 

 3. 터미널 창 or 시스템 재부팅

 

 4. 기본 셸이 Zsh로 잘 변경되었는지 확인 (Zsh경로가 나오면 정상적으로 설정된 것)

$ echo $SHELL​

 


 

Oh My Zsh 설치 및 설정

 : Zsh설정 관리 툴, Zsh가 널리 쓰이게 된 큰 이유는 "Oh My Zsh"에 있음.

  Zsh의 다양하고 편리한 플러그인들을 쉽게 설치/관리 가 가능하기 때문

더보기

Oh My Zsh 를 설치하고 나면 Linuxbrew의 환경 변수 설정이 삭제되므로 환경 변수를 ~/.zshrc에 재설정해야 함.

 

  • Oh My Zsh 설치
# curl 이용한 설치 방법 1
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

# wget 이용한 설치 방법 2
# $ sh -c "$(wget <https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh> -O -)"
Zsh 설정파일의 경로 : $HOME/.zshrc,
Oh-my-Zsh 설정파일의 경로 : $HOME/.oh-my-zsh/

 

 

  • Oh My Zsh 테마 설정
    "Oh My Zsh" 설정은 모두 .zshrc 파일을 통해서 이루어짐.   에디터로 .zshrc 파일을 열어서 필요한 설정을 직접 지정하면 됨.
# vi으로 .zshrc 파일 열기 명령어
vi ~/.zshrc

# ZSH_THEME가 robbyrussell로 입력 되어 있을텐데 이 부분에 원하는 테마 입력 
#  (일반적으로 agnoster 테마 사용)
# 변경 후 :wq로 저장 후 나가기
ZSH_THEME="agnoster"


# Zsh의 설정 중 주로 수정하게 되는 것
#   : ZSH_THEME(원하는 Zsh 테마의 이름 설정), plugins(설치를 원하는 Zsh의 플러그인들의 이름 나열)
#
# >> 재시작하면 Zsh 테마와 플러그인들이 적용되어 있을것
더보기

전체 테마 종류 확인할 수 있는 홈페이지
Themes · ohmyzsh/ohmyzsh Wiki (github.com)

 

  • Oh My Zsh 설정 적용
# 변경 사항 설정 적용 명령어
$ source ~/.zshrc

 

  • 테마 설정 후 폰트 깨짐 해결
# agnoster 테마를 사용하면 폰트가 깨지는데 이를 방지하기 위해
# powerline 폰트를 설치해야 함
$ sudo apt install fonts-powerline

# 터미널창 종료 후 재실행하면 적용되어 있음.

 


 

Oh My Zsh 플러그인

  • zsh-syntax-hightlight
# zsh-syntax-highlight
# Zsh에서 명령어에 초록색 색상을 입혀주는 플러그인. (사용 불가한 명령어는 빨간색)
$ git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

# open 명령어로 .zshrc 파일 열기 (or vi ~/.zshrc)
$ open .zshrc

# Zsh 구성에 추가 (Zsh 구성 파일 plugins에 추가)
plugins=(
  # other plugins...
  zsh-syntax-highlighting
)

# 변경 사항 설정 적용 명령어
$ source ~/.zshrc

 

  • zsh autosuggestions
# zsh-autosuggestions
# history 기반으로 최근 입력한 명령어를 미리보기로 표시해주는 플러그인
$ git clone https://github.com/zsh-users/zsh-autosuggestions.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

# open 명령어로 .zshrc 파일 열기 (or vi ~/.zshrc)
$ open .zshrc

# Zsh 구성에 추가 (Zsh 구성 파일 plugins에 추가)
plugins=(
  # other plugins...
  zsh-autosuggestions
)

# 변경 사항 설정 적용 명령어
$ source ~/.zshrc

 

  • autojump
# autojump
# 가장 많이 방문한 디렉토리를 학습하여 빠른 탐색을 가능하게 해주는 플러그인
$ git clone https://github.com/wting/autojump.git
cd autojump
./install.py

# open 명령어로 .zshrc 파일 열기 (or vi ~/.zshrc)
$ open .zshrc

# Zsh 구성에 추가 (Zsh 구성 파일 plugins에 추가)
plugins=(
  # other plugins...
  zsh-autosuggestions
)

# 변경 사항 설정 적용 명령어
$ source ~/.zshrc

 

 

 

Oh My Zsh .zshrc 설정 파일 

# Zsh 설정 파일 내용

# Path to your oh-my-zsh installation.
export ZSH=$HOME/ .oh-my-zsh

ZSH_THEME='agnoster'

plugins=(
	git
    zsh-syntax-highlighting
    zsh-autosuggestions
    autojump
)
source $ZSH/oh-my-zsh.sh
source $(brew --prefix autoenv)/activate.sh
source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

# Linuxbrew PATH 환경설정
export PATH="/home/linuxbrew/.linuxbrew/bin:$PATH"
export MANPATH="/home/linuxbrew/.linuxbrew/share/man:$MANPATH"
export INFOPATH="/home/linuxbrew/.linuxbrew/share/info:$INFOPATH"

 

 

 

 

더보기

Zsh, Oh My Zsh를 처음 설치하는 경우,

This is the Z shell configuration function for new users, zsh-newuser-install.
~~

You can:
(q) ~~
(0) ~~
(1) ~~
(2) ~~

 이런 식의 화면이 출력될 수 있는데 이는 Zsh 설정 파일인 .zshrc 파일이 아직 생성되지 않아서 그에 관한 옵션을 설정하는 화면.

0번을 선택하면 됨.

 

반응형

'🖥️ OS > Linux' 카테고리의 다른 글

[Linux_Ubuntu 22.04.2] 리눅스 한/영 전환  (0) 2024.01.20
[Linux_Ubuntu] Linuxbrew 설치  (0) 2024.01.15
[Linux_Ubuntu] 리눅스 명령어  (0) 2023.06.02