일시적으로 쉘 제어

일시적으로 쉘 제어

내 사무실 컴퓨터(Scientific Linux 6.3 실행)에는 별도의 터미널 에뮬레이터( )에서 일부 프로세스를 실행하는 여러 창이 있습니다 /dev/pts/. 저는 정기적으로 iPad에서 iSSH를 사용하여 사무실 컴퓨터에 연결하지만 파일을 작성한 프로그램의 결과만 볼 수 있고 각 터미널이 표시하거나 터미널을 제어하는 ​​내용은 볼 수 없습니다.

일시적으로 터미널 제어를 내 iPad iSSH 터미널로 전환하고, 결과를 보고, 새 명령을 실행하고(내 iPad의 사무실 터미널에서) 프로그램을 내 사무실 컴퓨터에서 실행하고 내 iSSH 터미널로 돌아갈 수 있기를 원합니다. 다른 터미널을 확인하거나 간단히 종료할 수 있습니다. 나는 iPad에 연결하기 위해 대부분의 시간을 3G를 사용하기 때문에 극도로 느린 그래픽 의존적 방법을 사용하고 싶지 않습니다.

내가 알 수 있는 한, 이와 같은 것은 reptyr프로세스 제어권을 한 터미널에서 다른 터미널로 영구적으로 이전하는 것으로 보이며, 제어권을 원래 터미널로 돌려보내는 것에 대해 이야기하는 사람(또는 질문하는 사람)을 본 적이 없습니다. 완료되면 원래 단말기로 되돌리고 싶습니다.

어떤 조언이나 도움이라도 정말 감사하겠습니다. 미리 감사드립니다

답변1

세션에서 원래 명령을 실행하기만 하면 된다고 생각합니다 screen.

그런 다음 연결을 끊고(화면은 계속 실행되고 "가상 터미널"이 올바르게 표시된 상태로 유지됨) 다른 세션(예: iPad, 다른 컴퓨터 또는 동일한 컴퓨터에서 다시 연결)에서 다시 연결할 수 있습니다. 주제).

screen예를 들어, 실행 화면 세션을 사용하는 동안 또는 실행 화면 세션에서 자리를 비운 동안 동료가 "몰입"하도록 허용하여 여러 사람이 동일한 "터미널을 엿볼 수 있도록" 할 수 있습니다 . "

간단히 말해서:

호스트 A의 기본 터미널에서 사용자 ORIGINALUSER로:

screen
command (ex: vi /tmp/file)
CTRL+a d # which is 'CTRL' and 'a' at the same time, and then 'd'. This will 'd'etach from the screen session, while screen itself still runs! (and inside it the commands, shell and any still running invoked command, still run)

다른 터미널(또는 동일한 터미널)에서:

#log in the original machine (host A) as the same user ORIGINALUSER, and then:
screen -r   #will reattach to the latest running screen from that user. 

여러 화면을 다시 연결해야 하는 경우 화면 매뉴얼 페이지를 참조하거나 온라인으로 이동하세요. 이는 다시 연결할 수 없는 경우에도 유용합니다. 다시 연결하도록 "강제"하는 방법이 있습니다.

실제로 완료되면 화면 내에서 실행 중인 셸을 종료하기만 하면 됩니다. 그러면 화면 명령도 종료됩니다.

화면에 있을 때: Ctrl+A는 특별합니다. 이를 통해 화면에 명령을 보낼 수 있습니다. 노력하다:ctrl+A ?

관련 정보