Tmux 및 Screen과 Linux 터미널 세션 공유
이 페이지에서
- 단일 계정으로 기본 터미널 세션 공유
- 화면 기본 공유\n
- tmux와 기본 공유
- tmux를 사용하여 서로 다른 두 계정 간 공유\n
- 화면으로 서로 다른 두 계정 간 공유\n
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 소켓에 대한 권한을 설정해야 합니다. 두 사용자 간에 공통된 그룹이 있어야 한다는 전제 조건이 하나뿐입니다. 그러한 그룹이 존재하지 않는 경우 새로 만들어야 합니다.
첫 번째 터미널에서 tmux를 시작합니다. 여기서 shared는 세션 이름이고 shareds는 소켓 이름입니다.
tmux -S /tmp/shareds new -s shared
그런 다음 소켓을 두 사용자가 공통으로 공유하는 그룹으로 chgrp하십시오. 이 예에서 joint는 두 사용자가 공유하는 그룹입니다. 그룹에 다른 사용자가 있는 경우 그들도 액세스할 수 있습니다. 따라서 그룹에는 두 명의 멤버만 있는 것이 좋습니다.
chgrp joint /tmp/shareds
두 번째 터미널에서 해당 소켓과 세션을 사용하여 연결합니다.
tmux -S /tmp/shareds attach -t shared
그게 다야. 세션은 두 번째 사용자에 대해 읽기 전용으로 만들 수 있지만 자발적으로만 가능합니다. 읽기 전용으로 작업할지 여부는 두 번째 사용자가 세션에 연결할 때 결정됩니다.
tmux -S /tmp/shareds attach -t shared -r
화면이 있는 두 개의 서로 다른 계정 간 공유
두 명의 다른 사용자로 로그인한 경우 화면을 사용하기 위한 세 가지 전제 조건이 있습니다. 먼저 screen을 SUID로 설정하고 /var/run/screen에서 그룹 쓰기 권한을 제거해야 합니다. 이 컨텍스트에서 SUID 사용의 안전성을 고려해야 합니다. 그런 다음 스크린 ACL을 사용하여 두 번째 사용자에게 권한을 부여해야 합니다.
sudo chmod u+s /usr/bin/screen
sudo chmod 755 /var/run/screen첫 번째 사용자 터미널에서 위의 기본 공유와 같이 화면을 시작합니다. 여기서 foobar는 화면 세션의 이름입니다. 그런 다음 다중 사용자 모드를 켜고 user2를 ACL에 추가합니다. 여기서 user2는 세션을 공유하는 두 번째 계정입니다.
screen -S foobar
^A:multiuser on
^A:acladd user2다음 ACL 변경을 입력하여 두 번째 사용자에 대해 세션을 읽기 전용으로 만들 수 있습니다. ^A:aclchg user2 -w "#?"
그런 다음 다른 터미널에서 첫 번째 사용자 세션에 연결합니다.
screen -x user1/foobar
다중 사용자를 켜고 사용자 2를 .screenrc에 추가하여 화면 시작 시 자동으로 적용되도록 할 수도 있습니다. 모든 screen 세션에서 변경을 원하지 않는 경우 screen을 시작할 때 -c 옵션을 사용하여 별도의 .screenrc 구성 파일을 지정할 수 있습니다.
보적
나갈 때 조심하세요. 셸을 종료하면 모든 당사자의 터미널 세션이 종료됩니다. 대신 세션을 분리하면 다른 사용자가 중단 없이 작업을 계속할 수 있습니다. ^B-d인 tmux와 ^A-d인 화면에서