하나의 단일 SSH 연결을 통해 여러 터미널 세션을 사용하려면 어떻게해야합니까?


21

우분투 서버 에디션이 실행 중이며 SSH를 통해 다양한 작업을 수행 할 수 있습니다. 내가 원하는 것은 내 서버로 SSH를 연결하여 서버 응용 프로그램을 시작한 다음 다른 "가상"세션 (같은 SSH 인스턴스에서)으로 전환하고 서비스에 대해 클라이언트 호출을 실행하는 기능입니다. 서비스를 시작하면 차단 호출이므로 다른 SSH 세션을 시작하지 않고 클라이언트 호출을 실행할 수 없습니다.

UI가 가상 데스크톱에서하는 것과 같이 더 매끄러운 방법이 있기를 바랐습니다.

답변:


24

사용하려는 것은 화면 또는 byobu라는 화면 주위의 사용자 친화적 인 래퍼입니다.

Screen을 사용하면 동일한 ssh 세션에서 여러 가상 터미널 세션을 실행할 수 있습니다. 자습서도움말 페이지를 사용할 수 있습니다.

byobu 는 ctrl-a의 키 조합 대신 간단한 기능 키를 사용하여 새 화면을 쉽게 열 수있는 래퍼입니다. 또한 이름을 지정할 수있는 모든 열린 가상 터미널이있는 상태 표시 줄도 보여줍니다.

또 다른 좋은 기능은 ssh 연결이 끊긴 동안 모든 화면을 유지할 수 있다는 것입니다. ssh를 통해 다시 연결하고 byobu를 호출하면 모든 것이 이전과 같습니다.

마지막 으로 byobu의 일부 스크린 샷 .


5

GNU Screen 은 당신이 찾고있는 대답입니다.하지만 Vi와 비슷합니다. 성공적인 화면 환경을 설정하는 명령을 많이 배웠습니다. 다음은 시작하기위한 몇 가지 사항입니다. 우선 .screenrc http://paste.ubuntu.com/473764/를 원격 서버의 사용자 홈 폴더에 저장하십시오. 원격 컴퓨터의 다음 설치 화면 ( sudo apt-get install screen) 다음에는 "화면 실행"에 대한 명령이 있습니다.

screen-이것은 매우 간단합니다. 새 화면 세션을 시작합니다 screen -ls-모든 활성 화면 세션을 나열합니다. 예, 여러 화면 안에 여러 개의 터미널이있을 수 있습니다. 너무 달콤한.

견본

screen -ls
There is a screen on:
    16467.pts-0.ubuntu  (08/05/2010 07:47:53 PM)    (Detached)
1 Socket in /var/run/screen/S-marco.

screen -x <pid> -분리 된 화면 세션 IE가 다시 시작됩니다. screen -x 16467

화면에 들어가면 (샘플 .screenrc파일을 사용 했음 ) 맨 아래에 다음이 표시됩니다.

(LOAD) 0$* bash

서버가로드되고 열려있는 모든 "터미널 탭"목록입니다. 현재는 하나의 창입니다. 무언가를 입력 한 후이 키 조합 : Ctrl + A릴리스를 누른 다음를 누릅니다 c. Ctrl + A이스케이프 시퀀스입니다. 모든 명령은이 조합으로 시작됩니다. c새 탭을 만듭니다. 바닥 글 (LOAD) 0-$ bash 1$* bash에 다른 탭이 열려 있고 활성 탭이 1이라는 것을 알 수 있습니다. 화면 세션 당 최대 60 개의 탭을 열 수 있습니다.

당신이 종료 화면에 원하지만 사용을 계속 실행하면 Ctrl + A다음 d세션을 분리 것이다. 마지막으로 Ctrl + A다음 k을 사용하여 탭을 닫을 수 있습니다.이 탭을 닫으면 (잠긴 경우) exit터미널에있는 것처럼 입력 하면 탭이 닫힙니다.

마지막으로 열려있는 모든 창을 나열하려면 Ctrl + A다음 을 입력하십시오 ".

Screen에 사용할 수있는 많은 옵션이 있으며, 더 많은 것을 위해 man 파일 위에 쏟아야합니다. 몇 가지 단점이 있습니다. 화면에서 스크롤 막대를 사용할 수 없습니다. 버퍼 컨트롤을 사용하여 롤백해야하지만 위의 방법으로 이것이 가능한 옵션인지 확인할 수 있습니다. 이것에 관한 좋은 점과 시스템 관리자 인 네트워크 연결과 관련하여 많은 것을 다루었습니다. 네트워크가 중단되면 작업이 손실되지 않습니다! 화면이 서버에서 실행 중이기 때문에. 당신은 단순히 다음 SSH를 통해 다시 로그인해야 screen -ls하고 screen -x세션에 다시.


txwikinger가 유용한 링크로 나를 이길 것 같습니다!
Marco Ceppi

Ctrl + A그런 다음 입력 ?하여 도움말 페이지로 이동하십시오. 모든 명령과 바로 가기가 여기에 나열됩니다. 입력 Ctrl + A한 후 :이름을 기억하지만, 단축키를 잊어 버린 경우, 이름으로 명령 중 하나를 사용하십시오.
Dan

1

Ubuntu Server Edition을 사용하는 경우 byobu최선의 선택입니다. 데비안 서버 안내서에는 유용한 문서가 있습니다.

일반적으로 배우고 사용하기가 쉽고 screen기본적으로 설치됩니다.


0

Emacs를 사용하므로 화면의 기본 구성으로 인해 인생이 어려워집니다.

$ cat /home/cjac/.screenrc 

탈출 ^ \

해봐!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.