외부에서 스크린 세션으로 입력 보내기


18

내 시나리오는 다음과 같습니다.

원격 위치에서 실행중인 스크린 세션이 있습니다. 이 화면 안에는 콘솔 기반 프로그램이 있습니다. 화면없이 실행하면이 프로그램이 터미널에서 시작되고 표준 입력에서 명령을 수락합니다.

내가 원하는 것은 콘솔 프로그램이 명령을 받도록 명령을 화면에 원격으로 보내는 방법입니다. 아마도 이런 식으로 :

내 PC-> SSH Send Msg Auto-> 스크린 세션-> 프로그램 (실행 명령 수신)

그래서 원격 PC에서 SSH 명령을 통해 프로그램으로 전송하는 화면으로 SSH 명령을 보낼 수 있습니다. 프로그램은 그것들을 받아들이고 실행합니다.

답변:


17

올바르게 이해하면 스크린 세션 내에서 실행중인 프로그램으로 입력을 보내려고합니다. 화면 stuff명령 으로이 작업을 수행 할 수 있습니다 . 스크린 -X옵션을 사용 하여 스크린 세션에서 명령을 첨부하지 않고 실행할 수 있습니다.

screen -S sessionname -p windowname -X stuff 'command1
command2
'

프로그램의 출력을 보려면 hardcopy, loglogfile명령을 참조하십시오 .


stuff 명령은 이미 시도했지만 화면의 명령 만 보냅니다. 프로그램이 관련을 사용하는 것이 아니라 화면 관련 명령 만 허용한다는 것을 알 수 있습니다.
Luis Alvarado

@CYREX : stuff문자를 입력 한 것처럼 정확하게 문자를 보냅니다. 정확히 무엇을 시도하고 의도 한 효과는 무엇이며 대신 어떤 결과가 발생 했습니까?
Gilles 'SO- 악마 그만해'

나는 당신이 -p 부분을 가지고 있음을 본다. 나는 그것을 가지고 있지 않았다. 그 부분을 추가하고 지금 명령을 보내고 있지만 각 명령에 대해 어떻게 ENTER를 누를 수 있습니까?
Luis Alvarado

그것을 발견. 따옴표 앞에 $를 추가하고 C를 이스케이프 처리하십시오. 이 -X 물건을 $ '쇼 사용자 \ n'처럼
루이스 알바

@CYREX : -p창이 두 개 이상인 경우 필요합니다 (적어도 좋은 아이디어입니다). “Enter”를 누르기 위해, 내가 한 것처럼 인수에 인용 부호 (예 : 인용 부호)를 넣으십시오.
Gilles 'SO- 악마 그만해'
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.