Screen vs tmux

새로 개발된 tmux가 좋을까? 오래 동안 사용된 screen이 좋을까?

처음엔 새로 나온 tmux가 무조건 더 좋을 거라고 생각했으나, 오히려 반대로 생각하는 사람들도 많이 있다 .아주 오랜시간 서버 백엔드에서 검증되고 사용된 screen이 더 안정적이라는 것이다. 그래서 나도 tmux보단 원래부터 익숙하게 쓰던 screen을 계속 쓰고 있다.

Screen 사용법

screen은 2번 깊게 들어가는 구조이다. 하나의 screen을 만들면 독립된 process로 돌아간다. 따라서 이를 이용해서 screen을 만들고 거기에 서버를 돌려놓고 다른 작업을 하는 것이 가능하다. 또한 screen은 깊은 구조라 하나의 screen내에서 여러개의 터미널을 띄워서 사용하는 것도 가능하다.

즉 screen은 여러개의 세션을 사용하는 것 ( 즉 푸티로 3개의 계정에 접속할 필요없이 하나의 접속안에서 여러가지 세션을 실행가능)

세션 사용법

screen -S session_name: session_name이라는 이름의 새로운 세션을 생성한다.

screen -S session_name bash : 현재의 bash shell 과 동일하게 동작하는 세션 생성

ctrl A + D : 세션에서 분리해서 떨어져 나온다. (detached. 세션은 그대로 하던일을 하고 있음)

screen -ls : 세션 리스트를 확인한다.

screen -r session_name : 분리했던 세션에 다시 연결한다.

screen -rd session_name : 이미 다른 terminal에 의해 attached 되어있는 session을 detach 시키고, 여기서 다시 접속한다.https://unix.stackexchange.com/questions/240444/cant-resume-screen-says-i-am-already-attached

screen -S session_name -X quit : session_name을 강제종료한다. (session_name대신에 앞에 붙은 세션 번호도 가능함)

screen -S session_name -X screen : screen 안에 screen 만들기.(다른 명령어도 가능)

screen -d : detached된 상태로 세션을 실행한다

screen -dmS session_name : detached된 상태로 세션 실행하면서 백그라운드 데몬으로 계속해서 돌린다