실행 중인 Windows 콘솔 애플리케이션의 텍스트 출력을 캡처하고 싶습니다 wineconsole --backend=curses ...
.
앱 자체는 지루한 stdio를 사용합니다. 불행하게도 와인은 출력을 크게 이스케이프하므로 파일로 리디렉션할 때 쓸모가 없습니다.
wineconsole
환경 변수를 사용합니다. 예를 들어 또는 를 설정할 때 TERM
약간 다르게 동작합니다 .TERM=vt100
TERM=linux
TERM
화면을 전혀 지울 필요가 없는 아주 기본적인 방법을 찾고 있는 것 같아요 .
또는 tty를 에뮬레이트하고 출력을 일반 텍스트로 변환하는 도구입니다.
답변1
설정을 시도해 볼 수 있습니다 TERM=dumb
. wineconsole
전체 화면을 고집하지 않는 경우에도 작동할 수 있습니다.
그렇지 않은 경우 앞서 언급한 것처럼 script
이것이 해결 방법의 일부입니다. 이를 통해 화면에 전송된 텍스트 파일의 모든 데이터를 투명하게 수집하는 프로그램을 실행할 수 있습니다.
그것을 이해하는 것이 나머지 해결책입니다. wineconsole
왼쪽에서 오른쪽으로/위에서 아래로 간단히 쓰면 이스케이프 문자(색상 포함)를 필터링하여 유용한 일반 텍스트를 얻을 수 있습니다 . 화면에서 뛰어다니거나 테이블을 표시하는 등의 작업을 수행하는 경우에는 이 작업을 잘 수행할 수 없습니다. 그러나 이탈 이벤트를 (부분적으로라도) 필터링하는 것이 일반적으로 아무것도 하지 않는 것보다 낫습니다.
이스케이프 시퀀스 필터링 주제는 가끔 발생합니다.Unix 유틸리티를 사용하여 프로그래밍 방식으로 ANSI 제어 코드를 파일에 "구울" 수 있습니까?
추가 자료:
- 3.8. 텍스트 모드 프로그램(CUI: Console User Interface) 와인 사용자 가이드
- 스크립트 2 로그 ANSI 이스케이프 시퀀스를 제거하고 백스페이스/thump를 줄입니다.