본문 바로가기
리눅스

Starship (software)

by 다움위키 2024. 2. 1.

터미널 프롬프트는 보통 배포판에서 기본으로 제공하는 것을 사용하게 되는데, 왜냐하면 일반 사용자가 터미널을 자주 사용하지 않기 때문입니다.
2024년 1월 기준, 대부분의 배포판은 기본 쉘로 배쉬를 많이 채택하고 있습니다. 하지만, 몇몇 배포판은 새로운 특색을 제공하는 Z 쉘을 기본 쉘로 제공하는 경우가 생겨나기 시작했습니다.
어떤 경우에서, Z 쉘을 소개하는 글에서 프롬프트를 알록달록하게 꾸며서 보여주어서 일부 일반 사용자들은 Z 쉘에 대한 관심이 생길 수도 있습니다.
어쨌든, 사용자가 쉘을 바꾸는 경우가 많지 않고 터미널을 사용할 일이 많지 않을지라도, 쉘 작업에서 프롬트프가 이쁘게 보이는 것을 싫어할 사람은 많지 않을 것입니다.
한편, 일반 사용자의 입장에서는 이쁜 프롬프트를 꾸미고 싶어도 그 과정이 어려울 때에는 쉽게 접근할 수는 없을 것입니다.
이런 면에서 보자면, 여기서 소개하려는 스타쉽 크로스-플랫폼 프롬프트는 미리 설정된 여러 파일을 제공함으로써 설치와 함께 거의 완성된 수준의 프롬프트를 이용할 수 있습니다.
또한, 어떤 쉘을 사용하더라도, 같은 모양을 제공하기 때문에, 해당 쉘의 지원에 따라 프롬프트를 별도로 꾸밀 필요가 없습니다.

Installation

이 프로그램은 러스트로 작성되었고 바이너리로 제공하지만, 패키지로 제공하지 않습니다. 제공되는 바이너리 파일은 실행 파일 1개로 구성되기 때문에 굳이 특정 배포판의 패키지가 필요하지 않을 수 있습니다.
어쨌든, 다음 과정을 통해 설치할 수 있습니다:

Compile from source code

다른 방법은 소스 코드를 받아서 로컬에서 컴파일을 통해 설치할 수 있습니다. 이 과정은 아치 리눅스의 PKGBUILD 파일로부터 정보를 얻을 수 있습니다.

  • cd ~/Downloads
  • git clone https://github.com/starship/starship
  • cd starship
  • cargo build --release --locked --all-features --target-dir=target
  • sudo cp target/release/starship /usr/local/bin

소스 코드가 변경되더라도, 같은 방법으로 컴파일할 수 있습니다.

초기화

이제 쉘의 마지막에 프롬트프를 스타쉽으로 사용하도록 스타쉽 초기화를 진행해야 합니다. 예를 들어, 배쉬는 ~/.bashrc 파일, Z 쉘은 ~/.zshrc 파일의 마지막에 다음 내용을 각각 적어줍니다.

  • eval "$(starship init bash)"
  • eval "$(starship init zsh)"

다른 쉘에서도 비슷한 작업을 수행해야 합니다. 이를 적용하기 위해 로그아웃 후에 로그인을 수행해야 합니다.

Configurations

Prerequisites

이 프롬프트는 아이콘 형태를 보여주기 때문에, 아이콘을 포함하지 않는 폰트를 사용할 경우에 보기가 좋지 않을 수 있습니다. 따라서 Nerd Font를 먼저 설치해야 합니다. Nerd Font는 종류가 너무 많아서 선택하기 쉽지 않지만, FiraCode를 스타쉽에서 소개하고 있고, 좀 더 컴팩트한 터미널을 원하는 분들은 D2coding 폰트를 사용할 수 있습니다.

  • sudo cp *.ttf /usr/share/fonts/truetype
  • fc-cache -fv

그런-다음 터미널에서 해당 폰트를 선택합니다.

Presets

이제, 미리 설정된 파일을 바로 적용할 수 있습니다:

위에서 제공되는 모양을 보시고 아래와 같이 적용할 수 있습니다:

  • mkdir -p ~/.config && touch ~/.config/starship.toml
  • starship preset gruvbox-rainbow -o ~/.config/starship.toml

자세한 내용에 대해, 이 링크를 참조하십시오.

이때, Nerd Font에 따라, 개발자가 보여주는 스크린샷과 조금 다르게 보일 수 있습니다.

Screenshot