그놈 터미널 내용을 ANSI 이스케이프 코드로 저장하는 방법? 하는 비교적 간단한 방법입니다

VT100 터미널은 -를 사용하여 이스케이프 코드가있는 터미널 내용을 파일저장 하는 비교적 간단한 방법입니다 .Metap

XTerm.VT100.printAttributes: 2
XTerm.VT100.printerCommand: cat - > file
XTerm.VT100.translations: #override Meta <KeyPress> P: print() \n

나는 꽤 많이 둘러 보았고 이것이 기본 그놈 터미널 + XTerm + Bash에서 작동하는 해결책을 찾을 수 없습니다.

나는 할 수 없습니다 윈도우의 내용으로 단지 이미지를 원한다.

그놈 터미널은 결국이 문제를 해결할 수있을 것 같지만 어떤 버전에 포함 될지에 대한 정보가 없으며 마지막 업데이트 이후 거의 3 년이 지났습니다 …



답변

불행히도, l0b0의 답은 다음과 같습니다 : 이것은 불가능합니다.

다른 대답에서는 스크립트를 사용 하여이 작업을 수행하는 방법을 나열했지만 약간의 차이점이 있습니다. 다른 방법은 소스를 컴파일하거나 불안정한 버전을 사용하는 것입니다.

그놈 터미널 소스 타르볼

Raring의 버전은 3.6.1이므로이 소스를 볼 수 있습니다. 115 행의 Terminal-window.c 내부 :

/*
 * We don't want to enable content saving until vte supports it async.
 * So we disable this code for stable versions.
 */

#include "terminal-version.h"

#if (TERMINAL_MINOR_VERSION & 1) != 0
#define ENABLE_SAVE
#else
#undef ENABLE_SAVE
#endif
#endif

옵션 :

  1. 이 아래에 #define ENABLE_SAVE를 추가하십시오.
  2. 버전을 불안정하게 수정하십시오.
  3. 불안정한 .DEB 버전을 다운로드하십시오.

도움이 되었기를 바랍니다.


답변

불행히도, l0b0의 답은 다음과 같습니다 : 이것은 불가능합니다.

터미널에서 항상 스크립트를 실행하고 모든 출력을 로깅하여이를 정정 할 수있는 두 가지 방법이 있습니다. 그놈 터미널을 열고 편집 -> 프로필 환경 설정 으로 이동 한 다음 제목 및 명령 탭을 클릭 하고 사용자 정의 명령에 다음을 사용하십시오.

bash -l -c 'script -q -c bash $HOME/sessionlogs/$BASHPID.sessionlog.$(date +%Y%m%d-%H%M).txt'

‘HOME’아래에 ‘sessionlogs’가 있는지 확인하십시오.

다른 방법은 제거되어이 질문에 대한 두 번째 답변으로 추가되었습니다.


답변

script (1) 를 통해 쉘을 실행 하여 터미널 이스케이프를 포함하여 파일에 저장된 터미널의 모든 입력 및 출력을 얻을 수 있습니다.


답변

VT100 / ANSI 터미널 에뮬레이션을 사용하는 터미널 멀티플렉서 인 화면 이라는 패키지가 있습니다.

에 따르면 의 맨 페이지 화면 우분투 설명서 웹 사이트에서 , 화면 주장 할 수

여러 프로세스 (일반적으로 대화식 셸)간에 물리적 터미널을 다중화하는 전체 화면 창 관리자 각 가상 터미널은 DEC VT100 터미널의 기능과 ISO 6429 (ECMA 48, ANSI X3)의 여러 제어 기능을 제공합니다. 64) 및 ISO 2022 표준 (예 : VT100 / ANSI 터미널 에뮬레이션을 사용하는 터미널 멀티플렉서 인 라인 삽입 / 삭제 및 다중 문자 세트 지원).

그리고 화면을 실행할 때 :

Ctrl ah (하드 카피) 현재 창의 하드 카피를 “hardcopy.n”파일에 씁니다.

그놈 터미널에서 뛰고 screen입력했습니다.Ctrl ah

화면을 실행하고 Ctrl Alt h를 입력

이것은 Gedit에서 열 때 내 hardcopy.1 파일의 출력입니다.

하드 카피 .1 Gedit에서 열림

당신이 찾을 수있는 화면이 우분투 13.04의 열망 / 주요 소프트웨어 저장소입니다.

기본적으로 설치되어 있지 않습니다.


답변

흠, 이것은 이스케이프 코드를 복사하지 않지만 텍스트를 잡기 위해 메뉴 편집-> 모두 선택으로 이동 한 다음 CtrlShiftC(i) 클립 보드를 편집기에 붙여 넣거나 (ii) 유형을 입력하고을 cat > filename누릅니다 CtrlShiftV.


답변

man history
이스케이프 문자의 히스토리 확장을 찾으십시오. 나는 history 당신이 요구하는 것을 할 수 있다고 믿습니다 .


답변