리눅스 서버를 다루다보니, 터미널을 매일사용하고 있습니다. 저는 기본으로 fish, tmux. alacritty 을 이용해서 작업을 하고 있습니다. 제가 사용하는 것들의 주요 특징들은 가볍고 빠릅니다.
iterm2는 전혀 성에 차지 않습니다. wasp와 같은 터미널 프로그램은 쓸만합니다. 하지만, 기본기로 돌아가면 alacritty 사용을 권하고 싶습니다. (rust 로 작성되어 있다는 점도 무시할 수 없습니다.)

현재 사용중인 stack

오늘부터 도전!

자주가는 reddit.comr/unixpron에는 커스텀화 된 화면들을 공유하고 자신들의 설정을 공유하는 곳입니다. 리눅스 사용자들을 위한 곳입니다. 리눅스도 같이 사용하고 있는 저에게는 지루한 랩탑을 좋은 놀이깜으로 만들어주는 곳입니다. (리눅스에 대해서도 학습하면서...)
아래 적용하려고 하는 도구들도 이 곳에서는 많이 사용하는 것들입니다.

여기서 최신 도구들을 몇개 사용해 보려고 합니다. 선정이유는 다들 rust로 작성되어 있는 점입니다. rust를 사랑하는 개발자로서 이 세팅은 반드시(!) 좋을 것 같습니다.

아래 TOOLS 를 사용하려고 하고, 장점에 대해서 설명하려고 합니다.

  • nushell
  • startship
  • zellij

nushell

rust로 작성된 최신 데이터 지향 쉘입니다. 기본적인 구성만으로 자동완성 및 기타 유용한 기능을 사용하기 위해 여러 설정을 할 필요가 없습니다.

아직 사용하기에는 여러문제들이 보임.

설치

$ brew install nushell
.......
$ nu
✘  ~  nu
No environment config file found at /Users/forteleaf/Library/Application Support/nushell/env.nu
Would you like to create one with defaults (Y/n):

Config file created at: /Users/forteleaf/Library/Application Support/nushell/env.nu
No config file found at /Users/forteleaf/Library/Application Support/nushell/config.nu
Would you like to create one with defaults (Y/n):

Config file created at: /Users/forteleaf/Library/Application Support/nushell/config.nu
     __  ,
 .--()°'.' Welcome to Nushell,
'|, . ,'   based on the nu language,
 !_-(_\    where all data is structured!

Please join our Discord community at https://discord.gg/NtAbbGn
Our GitHub repository is at https://github.com/nushell/nushell
Our Documentation is located at http://nushell.sh
Tweet us at @nu_shell

Nushell has been around for:
3yr 4month 3wk 1day 23hr 37min 48sec 769ms 498µs

You can disable this banner using the config nu command
to modify the config.nu file and setting show_banner to false.

let-env config {
    show_banner: false
    ...
}

장점

  1. Linux, macOS, Window 에서 작동
  2. nu pipeline은 구조화 된 데이터를 사용.
    안전하게 선택, 필터링, 정렬을 사용
  3. 강력한 플러그인

단점

  1. command 학습이 필요함.
    shell이름을 확인하려고 했는데....

    `echo $SHELL`
    Error: nu::parser::variable_not_found (link)
    
    × Variable not found.
    ╭─[entry #12:1:1]
    1 │ echo $SHELL
    ·      ───┬──
    ·         ╰── variable not found
    ╰────

nushell는 데이터 표현을 테이블 저장합니다. 마치 DB의 쿼리를 이용해서 물러오는 것 같습니다. 기본 zsh, fish, bash 등에 익숙해 있다면 생소한`cui
화면 처럼 보이기도 합니다.

/Users/forteleaf/vagrant〉ls                                                                                                                             09/28/2022 11:43:33 PM
╭───┬──────────┬──────┬───────┬──────────────╮
│ # │   name   │ type │ size  │   modified   │
├───┼──────────┼──────┼───────┼──────────────┤
│ 0 │ kubeset  │ dir  │ 320 B │ 2 months ago │
│ 1 │ window10 │ dir  │ 128 B │ 2 months ago │
╰───┴──────────┴──────┴───────┴──────────────╯
  1. 미완성적인 부분
    기존에 것들과 차이가 나고 PATH등 설정을 새로 해야함

starship

  • 호환성 우선
  • RUST 를 이용한 최고의 퍼포먼스와 안정성
  • 세심한 CUSTOM

Starship은 간단한 yaml 파일에 매우 다양한 구성 옵션을 제공 합니다. 그러나 nushell과 마찬가지로 처음에는 구성이 필요하지 않습니다. 모든 기본값이 이미 설정되어 있습니다! 바로 사용할 수 있는 멋진 구성 사전 설정을 제공합니다.

Starship은 다른 여러 도구 및 기술과 자동으로 통합됩니다. 패키지 버전을 표시하고(예: Poetry 프로젝트에 있을 때) AWS 리전, kubernetes 컨텍스트 및 네임스페이스를 표시할 수 있습니다. 간단히 말해서 모든 것과 작동합니다. 여기에서 전체 통합 목록을 살펴보십시오.


현재는 pastel Powerline으로 설정해서 사용하고 있습니다.

rust 로 작성되어 있어서 빠르다고 생각했지만, 별 차이를 느낄 수 없었습니다.

zellij

tmux와 매우 유사한 기능을 가지고 있습니다. 이쁜 라인이 생겨서 화면을 구분할 수 있는 큰 장점이 있습니다. 그런데 이로 인해서 볼 수 있는 text가 조금은 줄어듭니다. 한줄 정도 차이지만, 신경이 쓰입니다.

설치

$ brew install # Zellij
or
# zsh
bash <(curl -L zellij.dev/launch)

# fish
bash (curl -L zellij.dev/launch | psub)

장점

  • 기존에 사용하던 tmux의 단축키가 호환
  • 이쁨
  • layout 저장 (tmuxinator를 사용하고 있어서 ....)
  • pane 이동 기능이 직관적이고 편리

단점

  • tmuxinator 를 사용하고 있는데 이와 같은게 안 보임
  • ctrl+p 로 과거 실행했던 메뉴를 찾는데, 단축키가 설정되어 있음(pane 설정용)
    별도의 세팅을 해야되는 아쉬움
  • synchronize-pane 기능이 없다. 2021년에 기능이 추가 됨

기존에 사용하던 tmux의 단축키의 익숙함 때문에 zellij 에 적응이 안됩니다. 그리고, 기본 repository 에서 tmux 를 실행할 수 있는데, 굳이 zellij 를 설치해서 사용할 필요가 있을까 싶습니다.

반응형

'개발 > 리눅스' 카테고리의 다른 글

arch ctrl <-> caps lock swap  (0) 2023.01.02
freebsd | minidlna 구축  (0) 2022.10.13
ansible - 자동화의 시작  (0) 2022.07.14
Gitlab-CE 업그레이드  (0) 2022.07.05
LINUX | Linus Torvalds 가 우분투, 데비안을 싫어하는 이유  (0) 2020.07.13

+ Recent posts