2학년때 전산동아리에서 신입프로젝트를 진행하면서 tmux를 잠시동안 사용하다가 익숙치 않아서 불편하게 느껴서 사용하지 않았었다. 3학년이 되어 본격적으로 딥러닝을 공부하면서, 모델 학습이 수십 시간이 걸리는 실험과 프로젝트를 진행하면서 세션 유지를 위해 tmux를 사용하게 되었다. 학기중에 정리해두려 했으나, 정신이 없어 이제서야 정리하게 되었다.
내가 주로 사용하는 기능 위주로 간단히 정리해보려고 한다.
먼저, tmux란 Terminal Muliiplexer
의 줄임말이다.
💡 tmux를 이용하면,
- 하나의 터미널에서 멀티 프로그램을 쉽게 전환, 분리하는 것이 가능하다.
- tmux는 영구적인 세션을 제공하여, tmux에서 실행되는 프로그램은 연결이 끊겨도 세션이 유지된다.
영구 세션 유지를 위해 screen이라는 프로그램을 사용할 수도 있지만 나는 tmux 쓸거다 ^~^
설치 방법은 다음과 같이 간단하다.
brew install tmux
sudo apt install tmux
tmux를 사용하기 위해서는 다음과 같이 터미널에 tmux
라고 입력하면 세션을 시작할 수 있다.
(세션의 이름을 지정하고 싶다면, tmux new -s [세션 이름]
이라고 입력한다. )
세션이 시작된 모습은 다음과 같다. (하단에 세션 이름과 현재 시간이 나타난다.)
ctrl + b + [
q
ctrl + b + d
세션이 분리되면, [detached]라고 남으며, 세션 종료시, [exited]라고 표시된다.
🔼 세션을 분리하였을 때, detached된 모습
🔼 세션을 종료하였을 때의 모습
다음 명령어를 입력하면, 현재 실행중인 tmux 세션들의 이름과 세션이 시작된 날짜를 알 수 있다.
tmux ls
tmux attach -t [session name]
아주 간략하게만 정리해보았지만, tmux를 이용하면 창 분리, 전환등을 빠르고 쉽게 할 수 있다.
좋은 플러그인과 편집기 예시가 많이 있는 것 같으니 나중에 좀 더 살펴보아야겠다.