터미널 멀티플렉서

터미널에서 작업하다 보면, 하나의 작업이 너무 오래 걸려서 노트북을 한 장소에 계속 놔둬야 한다거나, 창을 여러 개 띄우고 작업을 하고 싶어질 때가 있다. 그런데 SSH로 원격 서버에 접속했을 때나 세션이 끊길 위험이 있는 환경에서는 창 분할, 세션 유지가 쉽지 않다. 그런데 터미널 멀티플렉서로 이런 문제를 해결할 수 있다고 해서 알아보게 되었다.

tmux(티먹스라고 부르는 듯 ㅎ) 는 터미널 멀티플렉서의 한 종류로, 여러 블로그1에서 친절하고도 자세하게 설명해주는 것을 볼 수 있었다. (다들 너무 대단하시다)

tmux, 터미널 멀티플렉서를 쓰면 좋은 이유

  • 세션 유지

    로컬 서버에 세션을 띄워서 터미널을 종료시켜도 그대로 남아 있어서 이어서 작업하기 좋다

  • 창 분할과 여러 세션 관리

    하나의 터미널 창에서 화면을 세로·가로로 나누거나, 탭처럼 여러 세션을 만들어 전환할 수 있다.

    예를 들어 왼쪽에는 코드 편집, 오른쪽 위에는 로그 모니터링, 오른쪽 아래에는 데이터 확인을 동시에 진행할 수 있다.

  • 작업 환경 재현

    세션 이름을 붙이고 필요한 프로그램을 띄워두면, 다음에 같은 환경을 그대로 불러와서 작업할 수 있다.


tmux의 구성

  1. Session(세션): tmux를 실행하는 기본 단위로, 여러 윈도우로 구성된다. 하나의 프로젝트(?)라고 생각하면 될 듯 하다.
  2. Window: 터미널 화면으로 세션 내에서 탭처럼 사용이 가능하다.
  3. Pane: 하나의 윈도우 내에서의 화면 분할 단위 / 각 pane에서 독립적으로 명령어를 실행 가능하다.

사용법(?)

아직 나는 너무너무 기초 단계이므로.. 우선 기본적인 명령어만 추가한다. 나중에 능숙해지면 여기에 더 추가할 것 같다.

  • 새로운 세션 생성
tmux new -s session_name
  • 세션 만들면서 윈도우랑 같이 생성
tmux new -s session_name -n window-name
  • 세션 종료
exit
  • 세션 목록 보기
tmux ls
  • 세션 다시 시작하기 (떠 있는 세션을 다시 불러오기)
tmux attach -t session_number (or session_name)
  • 세션에서 나오기
(ctrl+b) + d 

공부를 하면 할수록 모르는 것이 너무 많다는 걸 깨닫는다. 특히 서버, 개발 환경 쪽은 정말 새로운 세상을 보는 것 같다..

직접 많이 사용해보고 부딪혀보면서 배워나가야지

Footnotes

  1. 참고자료:
    [1] https://study-addiction.pages.dev/Dev/tmux/%ED%84%B0%EB%AF%B8%EB%84%90-%EB%A9%80%ED%8B%B0%ED%94%8C%EB%A0%89%EC%84%9C%EC%99%80-tmux

    [2] https://jh-bk.tistory.com/11

    [3] https://seulcode.tistory.com/144