Terminal Multiplexer 소프트웨어 중의 하나인 tmux를 사용해보자. 가장 큰 이유는 서버에서 돌리는 코드를 tmux를 이용하면 local에서 진입하고 있던 server가 끊겨도 (컴퓨터가 꺼지거나) background에서도 계속 실행시킨다는 점이다.
설치
sudo apt-get install tmux
실행 (Session 0 이름으로 tmux가 실행됨)
tmux
Session: tmux가 관리하는 가장 큰 단위의 실행단위, attach/detach가 가능하고 detach한 session은 백그라운드에서 실행을 계속 시킬 수 있다.
Window: Session보다 작은 단위로 사용자가 보는 터미널 화면을 말하고 여러 개의 윈도우를 하단의 탭처럼 사용할 수 있다.
Pann: Window 한 화면 안에서 분할하여 실행하는 단위로 좌우/상하 여러 개의 단위로 분할이 가능하다.
숫자로 이름이 생성됨 ex)0
tmux
원하는 Session_name으로 생성
tmux new -s <session_name>
tmux new-session -s <session_name>
Session list 확인
tmux ls
detach되어있는 Session attach시키기
tmux at -t <session number 혹은 session number>
ctrl + b로 명령 모드에 들어가신 후, 단축키를 따로 눌러 명령!
Ctrl + b
, d
# session detach 시키기
Ctrl + b
, c
# window 생성
Ctrl + b
, ,
# window 이름변경
Ctrl + b
, n
# next window로 이동
Ctrl + b
, p
# previous window로 이동
Ctrl + b
, l
# last window로 이동
Ctrl + b
, 0-9
# 특정 window (0~9)로 이동
Ctrl + b
, &
# 해당 window 종료
Ctrl + b
, %
# 좌우 화면 분할
Ctrl + b
, "
# 상하 화면 분할
Ctrl + b
, q
# 화면에 나오는 숫자 pane으로 이동
Ctrl + b
, o
# pane 순서대로 이동
Ctrl + b
, <방향키>
# pane 방향키로 이동
Ctrl + b
, spacebar
# pane layout 변경 (다양한 layout으로 자동전환)
Ctrl + b
, x
# 해당 pane 종료
Ctrl + d
# 현재 window (or pane) 종료
해당 window에 pane이 여러개면 나머지 pane이 다 닫혀야 window가 종료됨.
'test'라는 session을 만들었다. 하단에 [test]라고 session 이름이 적혀있고 0:bash* 1:bash-
가 있는데 *
표시된 부분이 해당 window이다. Ctrl + b
, %
(좌우 분할), Ctrl + b
, "
(상하 분할) 를 이용해 4개의 pann으로 분할해본 것이다.
Ctrl + b
, 1
을 사용하면 Ctrl + b
, "
를 사용해 상하로 화면분할해놓은 pane 두 개의 window 1:bash*
된 것이 보인다.