elsa in mac

터미널 에뮬레이터를 바꾸다... Wezterm 본문

Mac(OS X)/Terminal

터미널 에뮬레이터를 바꾸다... Wezterm

elsa in mac 2024. 9. 2. 08:06

2024년 7월 부터 그동안 사용하던 foot terminal 을 대신 해 Wezterm을 사용하고 있습니다. 1달 동안 사용해 본 결과 이제는 주력 터미널로 wezterm을 계속 사용해도 무방할 것 같다는 결론을 얻었습니다. 

Linux를 사용하고 프로그램 개발 일을 하는 사람으로써, 터미널 에뮬레이터는 가장 메우 중요한 앱 가운데 하나 입니다. 매일 가장 많이 사용하는 프로그램이기 때문이죠. 따라서, 터미널 앱을 바꾼다는 것은 저에게는 자동차를 바꾸거나 집을 이사가는 것과 같습니다. ^^

macOS에서 기본 터미널을 시작으로 iTerm2, 이어 kitty를 거쳐 foot을 사용해 왔고, 이제 wezterm으로 이동하게 되었네요. 터미널에 대해서는 몇 번의 포스팅을 했었지만, 어떤 터미널을 사용할 것인가는 늘 주요 관심사 였습니다. 

속도, 낮은 메모리 점유율, 그리고 다양한 기능.. 이 모든 요건을 만족하는 것은 꽤 어렵습니다.  단순히 어떤 터미널이 대중적으로 인기있는가 ?, 사람들이 많이 사용할 때는 나름의 이유가 있지 않을까 ? 가 1차적인 선택의 기준이지만.. 사실은 모두 써 보는 것이 가장 좋은 방법입니다. 개인들 마다 선택의 기준이 다르기 때문이지요.. 

앞서 언급한 3가지를 두고, 나름 사용한 터미널들의 장단점을 간략히 정리해 봅니다. 

kitty 
GPU acceleration 기능을 강조한 kitty는 실제로 매우 빠릿한 성능을 보여 줍니다. 하지만, 반대로 메모리를 꽤나 많이 사용합니다. 이게 단점이지요. 기능은 물론 다양하고.. 기타 다른 터미널들의 reference 역활도 담당합니다. 

Foot
wayland protocol을 사용하는 Linux 환경에서 선택할 수 있는 가장 낮은 메모리 점유율을 사용하는 강점을 가진 터미널 에뮬레이중 하나입니다.  지금까지 사용해 본 터미널 중 가장 작은 메모리를 사용하는 녀석은 x11의 st 입니다 만, wayland 기반에서는 foot 이죠. kitty가 다양한 기능 옵션을 제공한다 하지만, 그걸 모두 사용하는 사람은 없을 것입니다. 그런 측면에서 foot 은 기본에 충실합니다. 간결한 설정도 장점입니다. 

Wezterm 
익히 그 존재는 알고 있었고, macOS에서 잠깐 사용했었지만.. 사용하지는 않았습니다. macOS에서는 kitty를 사용했었죠. Wezterm의 장점은 kitty와 foot의 장점을 모두 갖고 있다고 할 수 있습니다. GPU 가속기능을 사용하면서, 메모리 점유율은 Kitty 보다 작고, Foot 보다는 약간 높습니다. 성능과 자원소모 모든 면에서 타협할 수 있는 수준입니다.  

kitty, foot, wezterm의 메모리 사용량을 보여 준다. (writeable/private 참조)

하지만, 가장 매력적인 것은 자체적인 multiplexing 기능을 갖고 있다는 점 입니다. 이것은 tmux를 더 이상 사용하지 않아도 될 만큼 안정적이고 강력합니다. 

wezterm의 multiplexing 기능 시연

pane 분할/제거, pane 크기 변경, pane간 이동 등애 대해 단축키를 정의할 수 있기 때문에, 기존 tmux 사용자들이 wezterm의 mux 기능을 사용하는데 큰 불편함을 줄일 수 있습니다. 

단점으로는 설정 파일을 작성할 때, 여타 다른 터미널들과는 달리 lua 라는 스크립트 언어를 이용한다는 점입니다. 이것은 lua를 모르는 사용자에겐 부담일 수 있지만, lua를 알고 있는 사용자들에겐 굉장히 좋은 강점일 수 있습니다.  물론, lua를 모르는 분들도 형식적으로만 접근한다면 크게 어렵지 않습니다. 

wezterm 설정파일(.wezterm.lua)

 설정파일은 변경 후 저장하면 즉각적으로 반영되며, 문제가 있을 경우 이 또한 즉각적으로 사용자에게 알려 줍니다.  

wezterm.lua.zip
0.00MB


GPU 가속기능을 사용하느냐 안 사용하느냐의 성능 관련 항목은 사실 일반 사용자들에게는 큰 의미는 없습니다. 일반적인 터미널 사용에 있어  GPU가속 기능이 유무는 큰 차이를 보여주지 않습니다. 그 보다는 적은 리소스 점유율과 기능, 관리 요소가 더 중요 하지요.  

개인적으로 터미널 사용에 있어서는 일반 사용자들과 크게 다르지 않는 수준의 사용을 하고 있는 사용자로써, 터미널 선택을 고민하고 있다면.. Wezterm을 검토해 보시기 바랍니다. macOS, window, Linux 등을 모두 지원하며, ARM aarch64도 모두 잘 지원합니다. 

공유하기 링크
Comments