본문 바로가기

우분투

Terminix - 새로운 화면 분할 터미널

화면 분할 터미널

리눅스는 아직 GUI에서 모든 것을 하기 힘들기 때문에 터미널을 활용하게 됩니다. 특히 개발자들은 터미널을 굉장히 많이 사용하게 되는데, 여러개의 터미널 창을 띄워놓고 작업하다 보면 어떤 터미널이 어떤 터미널인지 헷갈려서 실수를 할 때도 있습니다. 그래서 여러개의 터미널 창을 띄우는 대신 한 창을 여러 화면으로 나누어 사용하기 위한 시도들이 있었습니다. Terminator은 현재 가장 유명한 화면 분할 터미널입니다. 제작된지 오랜 시간이 지났지만 지금도 충분히 문제없이 사용할 수 있습니다. 하지만 인간의 욕심은 끝이 없기 때문에 발전된 GUI 프레임워크를 이용해 더 편리한 터미널을 만들고자 하는 노력이 나타나기 시작했습니다. Finalterm은 이러한 시도의 대표입니다. Terminator에 비해 더 유연한 타일구조를 가지고 있었고, 유저가 더 편리하게 터미널을 이용할 수 있는 부가기능들을 구현하면서 차세대 터미널 유망주로 떠오르게 됩니다. Github에 들어가보면 star를 4000개를 넘게 받은것을 볼 수 있습니다. 많은 인기를 얻고 있었지만 잘못된 프레임워크 선정으로 인해 고통받다가 이런 말을 남기고 개발을 중단했습니다. (Finally terminated라니 ㅠㅠ) Finalterm의 개발중단 선언 이후 2년이 지나 Terminix라는 후계자가 나타났습니다.


Terminator 터미널. 빨간색의 활성표시줄이 인상적이다.


Finalterm 터미널. 피치못할 사정으로 망했다.


과연 terminix의 운명은?


Terminix의 기능

일단 terminix는 베타버전입니다. 그래서 기능이 불안정 할 수도 있고 앞으로 더 많은 기능들이 추가될 수 있습니다.

Terminix의 가장 큰 기능은 화면분할입니다. 각각의 화면을 가로 또는 세로로 나눌 수 있고, 드래그해서 재정렬 할 수 있고, 여러개의 탭을 만들 수 있습니다. 공식적으로 홈페이지에서 소개하는 기능은 다음과 같습니다.

  • 세로 또는 가로로 레이아웃 분할
  • 드래그앤 드롭으로 서로 다른 창간의 터미널 이동 가능
  • 드래그앤 드롭으로 새로운 창으로 분리 가능
  • 여러개의 터미널간의 입력 동기화
  • 터미널 그룹 저장
  • 각각의 터미널에 고유 이름 할당
  • 컬러스킴 조절 및 저장
  • 배경화면 투명도 조절 가능
  • 사용자 또는 경로에 따른 프로파일 자동 교체
  • 터미널에 화면에 보이지 않을때 알림을 보여줌 (VTE 페도라 notification 패치 필요)

GUI적인 특징으로는 GTK3를 사용해서 만들어졌고, 그놈의 휴먼 인터페이스 가이드라인 (HIG)를 따라 만들어졌기 때문에 헤더바와 같은 CSD 기능들을 사용하고 있습니다. 참고로 헤더바는 제목표시줄을 제거하고 창 버튼 및 제목을 메뉴바에 통합시킨 최신 GTK의 기능입니다. 스크린샷을 보면 확인할 수 있습니다. 요즘 많은 그놈계열 어플리케이션들이 헤더바를 사용하고 있습니다. 그런데 우분투는 16.04부터 헤더바를 지원하고 있기 때문에 그 이전 버전에서는 사용할 수 없습니다.


아래는 스크린샷들!


terminix 초기화면


위에 버튼을 눌러 세션을 만들 수 있다.


세션들은 사이드바에서 볼 수 있다.


각각의 레이아웃을 세션의 형태로 저장할 수 있습니다. 세션 기능을 잘 사용하게 될지는 잘 모르겠네요. 사실 세션은 terminator에도 있는 기능인데 저는 terminator 사용할때도 거의 사용하지를 않았거든요.


터미널화면에서 오른쪽 버튼을 눌러 화면 분할을 할 수 있다.


화면을 드래그해서 새 창을 만들거나 다른 창으로 옮길 수 있다.


탭에서 오른쪽 버튼을 누르면 해당 터미널에 대한 옵션들이 나타난다.


터미널안에서 오른쪽 버튼을 누르면 이러한 메뉴가 나온다.


프로파일 편집화면


프로파일에서 색상을 편집할 수 있다.


터미널을 원하는 색상으로 바꿀 수 있습니다. 터미널의 투명도 및 비활성화된 터미널의 흐린정도를 조절할 수 있습니다.


terminix 설정화면


배경화면도 바꿀 수 있다.


배경도 바꿀 수 있습니다. 참고로 배경 이미지를 설정했는데 배경이 바뀌지 않을 수 있는데, 프로파일 편집에 들어가서 투명도를 조절해야합니다. 투명도가 없으면 그냥 원색만 나옵니다.


오른쪽 위 메뉴를 누르면 입력동기화 버튼이 나타난다.


여러 터미널에 같은 명령어를 입력할 수 있다.


Terminix에는 입력 동기화 기능이 있어서 여러 터미널에서 같은 명령어를 실행할 수 있습니다. 그런데 이 기능은 뭘 위해 존재하는 걸까요?

Terminix 설치

Terminix가 아직 베타버전이여서 그놈 소프트웨에서 바로 받을 순 없습니다. Github 홈페이지에 가서 각자의 배포판에 맞는 설치파일을 받아 설치하시면 됩니다. 우분투는 그놈과 좀 동떨어져서인지 설치파일이 지원되고 있지 않습니다. 그래서 소스를 빌드해서 사용해야합니다. ㅠㅠ 다행히 의존성이 적어서 쉽게 설치할 수 있습니다. 이 프로그램은 좀 특이하게 D 언어를 이용해 만들어졌습니다. 그래서 D 언어용 컴파일러와 패키지 매니저를 받아서 설치하면 됩니다. 컴파일러는 DMD에서 설치파일을 받아서 설치하면 됩니다. 개발자의 말에 따르면 다른 컴파일러는 뭔가 잘 안된다고 DMD를 사용해야 한다고 합니다. 그리고 dub은 apt-get으로 받아서 설치하면 됩니다.

sudo apt-get install dub

이제 컴파일러는 준비되었고, 소스를 받으면 됩니다. Git을 이용하면 쉽게 코드를 받을 수 있습니다.

git clone https://github.com/gnunn1/terminix.git

코드를 받았으면 해당 디렉토리로 들어가면 다음 명령어를 실행해주면 빌드 및 설치가 완료됩니다.

dub build --build=release
sudo ./install.sh

이제 terminix를 실행하면 됩니다.

마치면서

이전에 또 다른 화면 분할 터미널이였던 finalterm은 잘 나가다가 개발중단을 선언했는데, terminix는 같은 노선을 밟지 않았으면 좋겠네요. 참고로 현재 terminix는 github에서 star를 450개 정도 받았는데, finalterm의 10분의 1 수준입니다. 아직 finalterm 정도의 인기도 받고 있지 못한데...