스푸 기록 보관소

우분투 리눅스 도전기3 - 터미널 꾸미기 본문

우분투라이프

우분투 리눅스 도전기3 - 터미널 꾸미기

스푸♡ 2025. 12. 20. 10:00

오늘은 우분투의 터미널을 꾸며볼 생각입니다.
터미널??

 

출처 : Commons Wikipedia


터미널이라 하면 여러분 머릿 속에 딱 고속버스터미널을 떠오를 것 같은데요.

우분투에는 터미널이라는 기본 프로그램이 있습니다. 
우리가 알고 있는 터미널은

지방으로 내려가는 고속버스들이 출발 시간 전까지 대기하고
사람들이 목적지로 가는 버스를 기다리는 장소입니다.
우분투에 설치된 터미널도 컴퓨터에서 비슷한 역할을 해 왔습니다.
 
과거의 컴퓨터는 지금과 달리 크기가 매우 커서
건물 한 층을 가득 채울 정도였습니다.

그래서 당시에는 컴퓨터가 아니라 메인프레임이라고 불렸습니다.

 

그렇게 큰 PC를 혼자 쓰면 아깝겠죠.
그래서 한대의 메인 프레임을 여러 사람이 함께 사용할 수 있었는데

직접 메인프레임을 만지는 대신
키보드와 모니터 같은 입출력 장치를 연결해서 여러명이 접근할 수 있었습니다.

출처 : Commons Wikipedipia

 
그렇게 메인프레임에 연결해서
명령을 입력하고 결과를 출력 보여주는 입출력 장치를
바로 터미널(terminal) 이라고 불렀습니다.

 

여러 엔지니어들이 각자의 터미널에서
명령어나 프로그램을 입력하고 메인프레임이 처리한 결과를 기다렸습니다.
 
마치 고속버스터미널에서
각자의 목적지로 출발할 버스를 기다리는 것처럼
우분투에서 사용하는 터미널 역시 직접 계산을 수행하는 공간이 아니라
중앙에서 동작하는 시스템에 명령을 전달하고그 결과를 받기 위해 기다리는 창구 역할을 했습니다.

 

오늘은 그 터미널을 실행하고 입맛에 맞게 꾸며 보겠습니다.
기본 터미널은 너무 옛날에 개발된 거라 지금 그대로 사용하기에는 보기가 불편합니다.

 
콘트롤키 + 알트키 + T를 입력하면 터미널을 실행할 수 있습니다.

첩보영화에 보면 해커들이 뭔가 영어로 타닥타닥 입력하는 그런 창과 비슷하죠?

 

그런데 시커먼 창이 제 닉네임 spoo79 가 보입니다.
아이디 뒤에 붙은 ROG-G773QS는 노트북 이름이 뒤따라 붙습니다.

닉네임과 PC이름이 계속 찍혀서 쓸데없이 화면 공간을 많이 차지하는 것 같습니다.
우선, 이것부터 간단하게 표시해 보겠습니다.
우분투에서 이렇게 터미널을 실행했을 때 화면에 표시되는 걸 shell이라고 부릅니다.

우분투의 기본 shell은 bash로 .bashrc 파일을 열어서 수정할 수가 있습니다.
nano 라는 우분투의 기본 에디터로 수정을 해 보겠습니다.
(nano는 윈도우의 메모장 정도로 생각하시면 됩니다. 근데 나중에 vi라는 갈아 타야합니다.)

 

nano .bashrc

 

실행해 보니 뭔가 영어로 가득찬 화면이 나옵니다. 뭔가 잘못 입력하면 X 될 것 같은 기분이랄까...
이런 부분때문에 보통 사람들이 리눅스을 하려다가 포기하는 것 같습니다. 
저는 '뭐 문제가 되면 다시 설치하면 되지'라는 생각으로
인터넷에서 검색한 대로 문서 맨 아래에 다음 내용을 입력했습니다.

PS1='\W \$ '

 
nano에서 저장이 윈도우와 좀 다릅니다. 보통 콘트롤 S를 누르면 저장인데 말이죠.
화면 좌측 아래 ^X Exit 가 보이실까요? 이게 종료입니다. 그리고 콘트롤키 + X를 누르라는 뜻입니다.
그리고 오른쪽 대각선 위 ^O Write Out 보이시죠? 이게 저장입니다. 그리고 콘트롤키 + O를 누르라는 뜻입니다.
추가한 내용을 저장하고 종료하려면

콘트롤 O 입력하고 콘트롤 X 입력해야 됩니다.

그렇게 해야 nano에서 탈출(?)할 수가 있습니다.
(윈도우처럼 콘트롤+S로 하지 않았을까요? 궁금하실 것 같습니다.
사실 윈도우가 나중에 나온거라 그 반대가 되어야합니다.
윈도우는 왜 콘트롤+O를 저장 단축키로 하지 않았냐고 따져야한다능...ㅋㅋ)
 
탈출에 성공해도 화면은 바뀐게 없습니다.
그 이유는 변경된 bashrc를 우분투에 적용하지 않았기 때문입니다. 
source 라는 명령어로 변경한 내용을 적용할 수가 있습니다.

 
뽀로롱
~ $ 로 간단하게 바뀌었습니다. 하하하.
이게 대체 뭐라고 생각하실지 모르겠지만요.
저는 만족스럽네요.
 
근데 여기서 멈추지 않고 터미널을 조금 더 꾸며볼까 합니다.
리눅스에 근본인 터미널화면이니 좀 더 예쁘게(?) 꾸며주고 싶은 욕심이 듭니다.

sudo apt install zsh

 
위의 명령어를 터미널에서 입력합니다. zsh 라는 프로그램을 설치하는 명령어입니다.
zsh라는 프로그램은 터미널에 스킨을 씌워준다고 하네요.


터미널에서 작업하면 뭔가 메시지가 드르륵 나오면서 괜히 있어 보입니다만
사실 별다른 문구는 없습니다. 
이거 다운 받았습니다. 용량은 얼마입니다. 압축 풀었습니다. 이런 내용인데 
영어라서 괜히 뭔가 해커가 되는 듯한 느낌이랄까... ㅋㅋ

chsh -s$(which zsh)

 

위의 명령어로 입력합니다. 
chsh는 change shell의 약어입니다. 

shell을 변경한다는 뜻인데 원래 우분투의 기본 터미널은 bash라는 셀을 사용하고 있습니다.

그런데 저는 그 터미널의 기본 셀을 zsh 라는 걸로 변경하려는 겁니다.

위의 명령어를 입력한 후, 관리자 권한 비번을 입력합니다.
그래도 동작 후에 별다른 반응은 없어 보입니다.

하지만 셀은 bash에서 zsh로 변경된 상황입니다.

 

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

 
위의 명령어를 입력합니다.

이건 저도 뭔지 몰라서 그냥 이건 시키는대로 입력했습니다.

 
시키는대로 했는데 오류가 납니다.
리눅스를 익숙해 지려면 이런 오류에도 흔들리면 안 됩니다. 침착해야합니다.
침착해~침착해

curl 이라는 명령어를 찾을 수 없다는 오류네요.
sudo snap install curl 라는 명령어로 8.17 ver을 설치하거나
sudo apt install curl 로 8.5 버전 설치하라고 합니다.
 
snap은 지난 번에 말씀드렸듯이 불필요한 파일을 모두 가지고 있는 구조라
용량이 커지는 단점이 있다고 말씀드렸죠.
가볍고 라이트한 버전으로 설치해주는 apt를 이용해 설치하도록 하겠습니다.

sudo apt install curl

위의 명령어로 curl을 설치했습니다.
 
설치 완료 후 다시 입력했더니
이번에는 git is not installed 라는 메시지가 뜨네요.

 
이번에는 붉은 글씨네요. 그래도 겁 먹을 필요없습니다.
git이 설치되지 않았습니다.
라는 뜻입니다. 영어에 흔들리면 안됩니다. 침착 해야합니다.
 
참고로 여기서 나오는 git은
파일의 버전 관리를 해주는 프로그램입니다.
전 세계의 거의 모든 개발자들이 사용하고 있는 프로그램으로
github라는 사이트와 연결하여 본인이 개발한 소스코드를 올리고 다른 사람과 공유하고 있습니다.
 
https://github.com/ 

 

GitHub · Change is constant. GitHub keeps you ahead.

Join the world's most widely adopted, AI-powered developer platform where millions of developers, businesses, and the largest open source community build software that advances humanity.

github.com

 

제가 꾸밀려는 터미널 꾸며주는 zsh 프로그램은
github에서 관리가 되고 있는 걸로 보입니다.
아마 수십명의 프로, 아마추어 개발자들이 zsh 코드를 공유하면서 수정하고 개선하고 있을 것 같습니다.
저는 설치하고 사용만 할거니깐 git만 설치해보죠.

sudo apt install git

 
git도 이렇게 설치가 완료되었습니다.
다시 실행해 보았습니다.

 
 
터미널에 om my zsh이라는 타이틀이 뜨며 설치가 종료됩니다.

그런데 딱히 바뀐게 없어 보입니다.

 

그 이유는 쉽게 설명하자면

저는 옷을 갈아 입을 수 있는 드레스룸까지만 우분투에 들여 놓은 상황입니다.

이제는 드레스룸에 실제로 갈아입을 옷을 챙겨 넣어야겠죠?ㅎ

 

저는 패션 센스가 꽝이라 옷은 하나만 걸칠 생각입니다.

Powerlevel10k 라는 프롬프트인데 이게 거의 표준으로 불립니다.

거의 뭐 교복인셈이죠.

교복을 사러 가 봅시다. 아래 내용을 그대로 입력합니다.

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git \ ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

 

아까 말씀드린 github에서 powerlevel10k 라는 걸 다운을 받는 겁니다.

설정을 바꾸러 들어갑니다. 아까 사용한 nano를 이용해 .zshrc를 수정할 겁니다.

 

 

ZSH_THEME가 robbyrussell이라고 되어 있는데 이걸 powerlevel10k로 변경할 겁니다.

ZSH_THEME="powerlevel10k/powerlevel10k"

 

내용을 위와 같이 변경한 후, source 명령어로 적용합니다.

source .zshrc

 

위의 명령어를 실행하면 질문창이 뜨는데요. 

터미널에 출력되는 테마의 취향을 물어보는 겁니다.

어떤 설정이 더 마음에 드는지 물어보는 겁니다.

설정과 관련하여 열 개 정도의 질문을 던집니다. 

 

또 이거 잘못 답하면 어쩌나 걱정할 수 있지만 이건 언제든지 변경이 가능합니다.

 

powerlevel10k 테마가 모두 적용된 화면입니다. 

다른 것보다 디렉토리를 모두 표시해주는 부분이 보기가 참 좋네요.

우측 하단에는 명령어를 수행하는 시간과 현재 시간이 표시가 됩니다.

 

예전보다는 좀 더 그럴싸해졌습니다.

그럼 터미널 꾸미는 거는 여기까지 하도록 하겠습니다.

 

 

아.. 위에 질문을 할때 보면 글자가 깨져서 나오는 걸 볼 수 있습니다.

다이아몬드로 보이냐는 질문인데 다이아몬드는 커녕 깨진 상자가 뜨고 있습니다.

이건 우분투에 MesloLGS_NF라는 powerlevel10k의 폰트가 설치가 안 되서 그런겁니다.

sudo mkdir /usr/share/fonts/truetype/MesloLGS_NF
sudo wget -O /usr/share/fonts/truetype/MesloLGS_NF/MesloLGS%20NF%20Regular.ttf https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Regular.ttf
sudo wget -O /usr/share/fonts/truetype/MesloLGS_NF/MesloLGS%20NF%20Bold.ttf https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold.ttf
sudo wget -O /usr/share/fonts/truetype/MesloLGS_NF/MesloLGS%20NF%20Italic.ttf https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Italic.ttf
sudo wget -O /usr/share/fonts/truetype/MesloLGS_NF/MesloLGS%20NF%20Bold%20Italic.ttf https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold%20Italic.ttf

 

위의 명령어를 차례대로 실행하면 MesloLGS_NF라는 powerlevel10k의 기본 폰트를 설치할 수가 있습니다.

/usr/share/fonts/truetype 이라는 디렉토리에 MesloLGS_NF 라는 디렉토리를 만들고 거기에 폰트를 내려받는 명령어입니다.

p10k configure

 

이렇게 입력하면 다시 설정 질문을 하는 화면으로 넘어갑니다.

이제는 다이아몬드가 제대로 보일 겁니다.

 

 

출처는 아래와 같습니다.

https://provia.tistory.com/91

 

Ubuntu Zsh 설치

sudo apt -y install zsh chsh -s `which zsh` # Install oh my zsh! curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh # Install theme git clone https://github.com/romkatv/powerlevel10k.git $HOME/.oh-my-zsh/custom/themes/powerl

provia.tistory.com

https://github.com/romkatv/powerlevel10k

 

GitHub - romkatv/powerlevel10k: A Zsh theme

A Zsh theme. Contribute to romkatv/powerlevel10k development by creating an account on GitHub.

github.com