리눅스 세션 공유 · 2 min read · Dec 15, 2025
tmux와 Screen으로 리눅스 터미널 세션 공유하기

tmux와 GNU Screen은 가상 콘솔의 다중화를 허용하는 잘 알려진 유틸리티입니다. 둘 중 하나를 사용하면 세션을 시작하고 분리한 후 다른 머신으로 이동하여 중단 없이 세션을 재개할 수 있습니다. 또한 이러한 도구를 사용하여 여러 사용자가 동시에 단일 세션을 공유할 수 있습니다.
단일 계정으로 기본 터미널 세션 공유하기
두 명 이상의 사용자가 공동으로 계정을 보유하고 있는 경우, 터미널 콘솔의 공유는 매우 간단합니다. tmux나 screen은 여러 번 로그인한 단일 계정 간의 기본 공유를 위해 특별한 요구 사항이 없습니다. 두 사용자가 동일한 사용자로 로그인한 경우 기본 공유는 매우 쉽습니다.
screen으로 기본 공유하기
한 터미널에서 foobar가 화면 세션의 이름인 screen의 새 세션을 만듭니다:
screen -S *foobar*그런 다음 다른 터미널에서 해당 세션에 연결합니다.
screen -x *foobar*그게 전부입니다. 두 단계만 있었습니다.
tmux로 기본 공유하기
다시 말해, 두 단계만 있습니다. 첫 번째 터미널에서 shared가 세션 이름인 tmux를 시작합니다:
tmux new-session -s *shared*그런 다음 두 번째 터미널에서 공유 세션에 연결합니다.
tmux attach-session -t *shared*그게 전부입니다.
두 개의 다른 계정 간의 터미널 세션 공유하기
두 개의 다른 계정 간의 공유는 한 계정이 다른 계정의 세션에 접근할 수 있도록 필요한 권한을 부여하기 위해 몇 가지 추가 단계가 필요합니다. 경우에 따라 설정을 준비하기 위해 시스템 관리자에게 도움을 요청해야 할 수도 있습니다.
tmux로 두 개의 다른 계정 간의 공유하기
다른 사용자 간에는 tmux 소켓의 권한을 설정하여 두 사용자가 읽고 쓸 수 있도록 해야 합니다. 두 사용자 간에 공통 그룹이 있어야 하는 단 하나의 전제 조건이 있습니다. 그런 그룹이 존재하지 않으면 하나를 생성해야 합니다.
첫 번째 터미널에서 shared가 세션 이름이고 shareds가 소켓 이름인 tmux를 시작합니다:
tmux -S /tmp/shareds new -s *shared*그런 다음 소켓의 그룹을 두 사용자가 공유하는 그룹으로 변경합니다. 이 예에서 joint는 두 사용자가 공유하는 그룹입니다. 그룹에 다른 사용자가 있는 경우, 그들도 접근할 수 있습니다. 따라서 그룹에 두 명의 구성원만 있는 것이 좋습니다.
chgrp joint /tmp/shareds두 번째 터미널에서 해당 소켓과 세션을 사용하여 연결합니다.
tmux -S /tmp/shareds attach -t *shared*그게 전부입니다. 세션은 두 번째 사용자에게 읽기 전용으로 설정할 수 있지만, 이는 자발적으로 이루어져야 합니다. 두 번째 사용자가 세션에 연결할 때 읽기 전용으로 작업하기로 결정합니다.
tmux -S /tmp/shareds attach -t *shared* -rscreen으로 두 개의 다른 계정 간의 공유하기
두 개의 다른 사용자로 로그인한 경우, screen을 사용하기 위한 세 가지 전제 조건이 있습니다. 첫째, screen은 SUID로 설정되어야 하며 /var/run/screen에서 그룹 쓰기 접근을 제거해야 합니다. 이 맥락에서 SUID 사용의 안전성은 고려해야 할 사항입니다. 그런 다음 screen의 ACL을 사용하여 두 번째 사용자에게 권한을 부여해야 합니다.
sudo chmod u+s /usr/bin/screen
sudo chmod 755 /var/run/screen첫 번째 사용자의 터미널에서 위의 기본 공유와 같이 screen을 시작합니다. 여기서 foobar는 화면 세션의 이름입니다. 그런 다음 다중 사용자 모드를 활성화하고 user2를 ACL에 추가합니다. 여기서 user2는 세션을 공유할 두 번째 계정입니다.
screen -S *foobar*
^A:multiuser on
^A:acladd *user2*세션은 다음 ACL 변경을 입력하여 두 번째 사용자에게 읽기 전용으로 설정할 수 있습니다: ^A:aclchg user2 -w “#?”
그런 다음 다른 터미널에서 첫 번째 사용자의 세션에 연결합니다.
screen -x *user1*/foobar다중 사용자 모드를 켜고 acladd user2를 .screenrc에 추가하여 screen 시작 시 자동으로 적용되도록 할 수도 있습니다. 모든 screen 세션에서 변경 사항이 원하지 않는 경우, screen을 시작할 때 -c 옵션을 사용하여 별도의 .screenrc 구성 파일을 지정할 수 있습니다.
맺음말
종료할 때 주의하세요. 단순히 셸을 종료하면 모든 사용자의 터미널 세션이 종료됩니다. 대신 세션을 분리하면 다른 사용자가 중단 없이 작업을 계속할 수 있습니다. tmux에서는 ^B-d이고 screen에서는 ^A-d입니다.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.