Computer >> 컴퓨터 >  >> 시스템 >> Linux

Linux에서 Tmux 세션 관리 및 복원하는 완벽 가이드

Linux에서 Tmux 세션 관리 및 복원하는 완벽 가이드

Tmux는 다양한 유용한 기능을 갖추고 있으며, 커뮤니티에서 만든 플러그인도 놀랄 만큼 풍부하게 지원되는 터미널 멀티플렉서입니다. tmux나 Screen 같은 터미널 멀티플렉서를 사용하면 터미널 창의 생산성이 비약적으로 향상됩니다. 탭 형태로 여러 세션을 열거나 화면을 분할할 수 있고, 여러 터미널 도구와 세션 저장 기능을 조합하면 시스템이 강제로 재부팅된 후에도 Tmux 세션을 그대로 복원할 수 있습니다.

Tmux 설치하기

Linux 배포판을 사용하고 있다면 tmux를 설치하고 실행하는 것은 비교적 간단합니다.

Ubuntu에서는 터미널에서 apt 명령어를 사용해 배포판 공식 저장소에서 패키지를 설치하면 됩니다. 다른 배포판도 대부분 tmux를 지원하므로, 각 배포판에 포함된 패키지 관리자로 설치하면 됩니다.

sudo apt-get install tmux

Linux에서 Tmux 세션 관리 및 복원하는 완벽 가이드

설치가 완료되었나요? 이제 화면 분할을 시작해 보겠습니다.

윈도우와 페인(Pane) 만들기

tmux에서는 레이아웃 구성의 주요 유형을 설명하기 위해 두 가지 용어를 사용합니다. '윈도우(Window)'는 tmux에서 탭에 해당하는 개념으로, 새 윈도우를 만들면 간단한 명령어로 전환할 수 있는 탭이 생성됩니다.

반면 '페인(Pane)'은 현재 윈도우(탭) 안에서 화면을 나눈 영역을 의미하며, 역시 명령어로 전환할 수 있습니다.

본격적으로 시작하기 전에 알아두어야 할 중요한 점은 tmux가 모달(modal) 방식으로 작동한다는 것입니다. 즉, 터미널 세션과의 상호작용과 tmux 명령 입력이 서로 다른 '모드'에서 이루어집니다. 덕분에 열어둔 각 터미널 세션을 평소처럼 자유롭게 사용하면서도 실수로 tmux 명령이 실행되는 일을 방지할 수 있습니다.

tmux에 접속해 명령을 내리려면 먼저 새 tmux 세션을 시작하고 이름을 지정합니다:

tmux new -s babytmux

Linux에서 Tmux 세션 관리 및 복원하는 완벽 가이드

물론 세션 이름('babytmux')은 원하는 대로 변경해도 됩니다!

tmux가 즉시 실행되고 새 셸 세션이 시작될 것입니다. 하지만 우리는 하나 이상의 세션이 필요하죠?

tmux의 명령 모드에 진입하려면 프리픽스(prefix) 키를 사용해야 합니다. 기본값은 Ctrlb를 동시에 누르는 것입니다. 프리픽스만 눌러서는 아무 변화가 없지만, 바로 이어서 :를 입력하면 명령어를 입력할 수 있습니다. 명령 모드를 빠져나가려면 Enter로 명령을 완료하거나, ESC 키를 눌러 변경 없이 종료하면 됩니다.

단축키를 사용해 수평 분할을 만들어 보겠습니다: Ctrl+b를 누른 후 "를 입력하세요.

Linux에서 Tmux 세션 관리 및 복원하는 완벽 가이드

훌륭합니다! 이제 다음 단축키로 두 영역 사이를 이동할 수 있습니다: Ctrl+b, 그다음 o.

Linux에서 Tmux 세션 관리 및 복원하는 완벽 가이드

각 세션은 서로 독립적이므로, 페인마다 별개의 프로그램을 실행할 수 있습니다. 수직 분할로 화면을 네 등분해 보겠습니다: Ctrl+b, 그다음 %

각 페인에서 원하는 프로그램을 실행하면, 다른 페인을 사용하는 동안에도 계속 실행 상태가 유지됩니다.

Linux에서 Tmux 세션 관리 및 복원하는 완벽 가이드

새 윈도우(탭)를 만들려면 다음을 사용합니다: Ctrl+b, 그다음 c

이전 윈도우로 돌아가거나 다음 윈도우로 이동하려면:

Ctrl+b, 그다음 p (이전 윈도우)

또는

Ctrl+b, 그다음 n (다음 윈도우)

Linux에서 Tmux 세션 관리 및 복원하는 완벽 가이드

화면 하단의 상태 표시줄에는 각 윈도우에서 실행 중인 프로세스와 현재 위치한 윈도우('*' 표시)가 나타나므로 참고하면 좋습니다.

tmux 세션에서 분리(detach)하려면 다음을 사용합니다: Ctrl+b, 그다음 :detach-client 입력

Linux에서 Tmux 세션 관리 및 복원하는 완벽 가이드

세션은 시스템이 재부팅되거나 직접 종료하지 않는 한 계속 실행됩니다. 다시 접속하려면 다음 명령어를 사용하세요:

tmux a -t babytmux

재부팅 후에도 살아남는 진정한 '불멸의' tmux 세션을 만들려면 플러그인을 한두 개 설치해야 합니다.

플러그인 설치하기

tmux에서 플러그인을 사용하는 것은 비교적 간단합니다. 다만 이후 플러그인 설치를 더욱 쉽게 하기 위해 플러그인 매니저를 먼저 설치하는 것이 좋습니다.

플러그인 매니저(TPM)

Tmux Plugin Manager(TPM)를 설치하려면 다음 명령어로 GitHub에서 파일을 클론합니다:

git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm

다음으로 홈 폴더의 '.tmux.conf' 파일에 아래 코드를 추가합니다:

# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
 
# Other examples:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin 'git@github.com/user/plugin'
# set -g @plugin 'git@bitbucket.com/user/plugin'
 
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run -b '~/.tmux/plugins/tpm/tpm'

Linux에서 Tmux 세션 관리 및 복원하는 완벽 가이드

위 설정에서 볼 수 있듯이, 앞으로 설치할 플러그인마다 GitHub 사용자명과 플러그인 이름(플러그인의 GitHub URL에서 확인 가능)을 추가하면 됩니다. 나머지는 플러그인 매니저가 알아서 처리합니다. 다음 명령어로 플러그인 매니저를 활성화하세요:

tmux source ~/.tmux.conf

이제 재부팅 후 세션을 복원하는 데 필요한 플러그인을 살펴보겠습니다.

Tmux Resurrect

Tmux Resurrect는 이름 그대로, 간단한 명령어 하나로 저장해 둔 세션을 되살려 줍니다.

이 플러그인은 .tmux.conf 파일에 다음 줄을 추가하여 설치할 수 있습니다:

set -g @plugin 'tmux-plugins/tmux-resurrect'

Linux에서 Tmux 세션 관리 및 복원하는 완벽 가이드

이제 tmux에서 다음 단축키를 눌러 Tmux Plugin Manager가 플러그인을 설치하도록 합니다: Ctrl+b, 그다음 I (대문자 'i'입니다.)

Linux에서 Tmux 세션 관리 및 복원하는 완벽 가이드

설치가 완료되면 세션을 시작한 뒤 다음 단축키로 저장할 수 있습니다: Ctrl+b, 그다음 Ctrl+s

저장한 세션을 복원하려면 Ctrl+b, 그다음 Ctrl+r을 사용합니다.

Linux에서 Tmux 세션 관리 및 복원하는 완벽 가이드

이 방법을 활용하면 재부팅 후에도 선호하는 도구와 프로세스가 모두 그대로 유지되는 불멸의 tmux 세션을 운영할 수 있습니다. 직접 사용해 보면서 tmux의 다양한 기능을 탐색하고, 터미널을 최대한 활용해 보세요.