버전 2

버전 2

내 말은 프로그램이 실행 중일 때(예: 텔넷) 화면에 무언가가 쓰여질 때 입력한 모든 텍스트가 손실된다는 것입니다. 예를 들어 채팅 서버에서

나는 들어간다

> 안녕하세요, 묻고 싶습니다.

갑자기 문자열을 받았는데 이제 화면이 다음과 같습니다.

> 안녕하세요, 물어보고 싶었습니다. 안녕하세요?

계속해서 글을 쓰고 Enter 키를 눌러 문자열을 성공적으로 보낼 수 있지만 입력 내용이 다음과 같이 아래로 이동하길 원합니다.

안녕, 무슨 일이야?

> 야' 물어보고 싶었는데

어떻게 해야 하나요? 나는 bash와 lxterminal을 사용합니다

고쳐 쓰다 따라서 여기에 빠르고 더러운 해결책이 있습니다. 입력이 손실될 때마다 키를 눌러 ^R복원하세요.

답변1

버전 2

버전 1(아래)은 입력이 상위 터미널로 전송되지만 처리되지 않기 때문에 작동하지 않습니다. 그래서 다시 시도했습니다. 프로그램이 제대로 입력되려면 입력 터미널에서 프로그램이 실행되어야 합니다. 그런 다음 출력을 다른 터미널로 지정합니다. 작동해야 한다고 생각하지만 아직 테스트하지 않았습니다(머드 서버가 없음).

xterm -e bash -c "telnet mud > '$(readlink -f /dev/stdin)'"

버전 1

저는 입력을 위해 별도의 터미널을 사용하곤 했습니다.

다음을 수행하여 입력 터미널을 생성합니다.

xterm -e bash -c "cat > '$(readlink -f /dev/stdin)'"

어떻게 작동하나요?

  • 먼저 현재 readlink -f /dev/stdin어느 터미널에 있는지 확인하세요. 이는 추적의 기호 링크를 통해 수행됩니다 /dev/stdin. 이는 보이는 프로세스에 따라 동적입니다(변경됩니다).
  • 이제 명령은 다음과 같습니다.xterm -e bash -c "cat > '/dev/pts/x'"
  • 다음 xterm이 실행되고 시작되어 이 터미널로의 리디렉션이 bash시작됩니다 .cat

관련 정보