리눅스에 zshell 설치 및 oh-my-zsh로 테마 설정하기

황정준·2023년 3월 9일
0

oh-my-zsh 공식사이트의 메인 화면

많은 리눅스 배포판에서 기본 쉘로 사용되는 것은 bash이다.

하지만 bash를 사용하다보면 밋밋한 부분이 있다.
CLI라도 컬러풀하고 편리하게 사용하고 싶은 개발자에겐 새로운 쉘이 필요하다.

그런 쉘을 찾아보니 zsh이라는 쉘을 알게되었다.

zsh이란?

Z Shell의 약자로 기존의 bash, ksh, tcsh의 많은 유용한 기능을 통합한 유닉스 쉘이다.
사용자를 위한 다양한 편의기능을 제공하기 때문에 설치해두면 편리하다.

zsh 설치

나는 라즈베리파이의 라즈비안OS에 설치를 진행했다.
라즈비안은 데비안계열의 리눅스라서 apt를 사용해 설치했다.

$ sudo apt-get update
$ sudo apt-get install zsh

잘 설치되었는지 확인은 아래의 버전확인 명령어로 할 수 있다.

$ zsh --version

설치된 것이 확인되면 zsh을 기본쉘로 변경해주자

$ chsh -s /usr/bin/zsh

리눅스에 재접속을 해주면 아래와 같은 화면이 뜬다. 우리는 oh-my-zsh로 테마 설정을 해줄거라 q를 눌러 일단 종료해주자.

This is the Z Shell configuration function for new users,
zsh-newuser-install.
You are seeing this message because you have no zsh startup files
(the files .zshenv, .zprofile, .zshrc, .zlogin in the directory
~).  This function can help you with a few settings that should
make your use of the shell easier.

You can:

(q)  Quit and do nothing.  The function will be run again next time.

(0)  Exit, creating the file ~/.zshrc containing just a comment.
     That will prevent this function being run again.

(1)  Continue to the main menu.

(2)  Populate your ~/.zshrc with the configuration recommended
     by the system administrator and exit (you will need to edit
     the file by hand, if so desired).

그러면 기존의 bash가 아닌 칙칙한 zsh로 열리는 것을 확인할 수 있는데
현재 보이는 쉘이 zsh인지 확인하려면 아래의 명령어를 입력해 /usr/bin/zsh이 나오는지 확인해주자

$ echo $SHELL

oh-my-zsh 설치

zsh의 장점인 다양한 테마를 사용하기 위해 아래 명령어로 oh-my-zsh을 설치해주자.

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

명령어를 입력하면 아래와 같은 화면이 뜬다.

% sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Cloning Oh My Zsh...
remote: Enumerating objects: 1325, done.
remote: Counting objects: 100% (1325/1325), done.
remote: Compressing objects: 100% (1277/1277), done.
remote: Total 1325 (delta 27), reused 1173 (delta 27), pack-reused 0
Receiving objects: 100% (1325/1325), 1.98 MiB | 9.86 MiB/s, done.
Resolving deltas: 100% (27/27), done.
From https://github.com/ohmyzsh/ohmyzsh
 * [new branch]      master     -> origin/master
Branch 'master' set up to track remote branch 'master' from 'origin'.
Already on 'master'
/home/bjm

Looking for an existing zsh config...
Found /home/bjm/.zshrc. Backing up to /home/bjm/.zshrc.pre-oh-my-zsh
Using the Oh My Zsh template file and adding it to /home/bjm/.zshrc.

         __                                     __
  ____  / /_     ____ ___  __  __   ____  _____/ /_
 / __ \/ __ \   / __ `__ \/ / / /  /_  / / ___/ __ \
/ /_/ / / / /  / / / / / / /_/ /    / /_(__  ) / / /
\____/_/ /_/  /_/ /_/ /_/\__, /    /___/____/_/ /_/
                        /____/                       ....is now installed!


Before you scream Oh My Zsh! look over the `.zshrc` file to select plugins, themes, and options.

• Follow us on Twitter: https://twitter.com/ohmyzsh
• Join our Discord community: https://discord.gg/ohmyzsh
• Get stickers, t-shirts, coffee mugs and more: https://shop.planetargon.com/collections/oh-my-zsh

➜  ~

이제 좀 컬러풀해지고 이뻐졌다.
zsh은 다양한 테마를 지원하니 아래의 사이트에서 원하는 테마를 고르고 적용시켜보자.

👉oh-my-zsh 기본테마 github주소

먼저 아래의 명령어를 입력해 zsh 설정을 열어주자 텍스트에디터는 어떤걸 사용해도 상관없고 나는 nano를 사용했다.

nano ~/.zshrc

에디터로 해당 파일을 열면 아래와 같은 내용을 확인할 수 있는데 위의 사이트에서 본 테마이름을 ZSH_THEME에 넣어주고 저장해주자.
나는 af-magic이라는 테마로 설정해주었다.

# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH

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

# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
ZSH_THEME="af-magic"

# Set list of themes to pick from when loading at random
# Setting this variable when ZSH_THEME=random will cause zsh to load
# a theme from this variable instead of looking in $ZSH/themes/
# If set to an empty array, this variable will have no effect.
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )

# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"

# Uncomment the following line to use hyphen-insensitive completion.
# Case-sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"
...

테마를 바꿔준 뒤 터미널에 재접속해주면 잘 적용되는 모습을 볼 수 있다. 아래사진은 실제 af-magic테마를 적용한 사진이다.

명령어 입력할때마다 점선으로 구분해줘서 보기 좋다. ㅎㅎ

profile
호기심 많은 주니어 백엔드 개발자입니다.

0개의 댓글