gnome 터미널에서 텍스트 파일로 직접 출력

gnome 터미널에서 텍스트 파일로 직접 출력

안녕하세요. 스크립트 출력을 파일로 보내려고 합니다.

내 스크립트는

gnome-terminal -- ./program +config 

몇 가지 게시물을 확인하고 시도했습니다.

gnome-terminal -- "./program +config 2>&1 | tee output.txt"

또는

gnome-terminal -- 'bash -c "./program +config 2>&1 | tee output.txt"'

그리고 다른 많은 변형이 있지만 잘 작동하지 않습니다

우분투 22.04를 사용하고 있습니다.

답변1

정답

당신이 하고 있는 일을 구현하기 위해 그것을 사용할 필요는 없을 것입니다 gnome-terminal. ./programgnome-terminal에서 실행하는 것보다 출력을 캡처하는 더 좋은 방법이 있을 수 있습니다 .

아직도 gnome-terminal을 사용하고 싶으신가요?

Konsole이나 xterm과 같은 다른 터미널과 달리 세션 출력을 기록하는 옵션을 찾을 수 없습니다. Gnome 매뉴얼에는 데이터 롤백이 언급되어 있습니다.

롤백 데이터는 디스크의 시스템 임시 파일 기본 위치(일반적으로 /tmp)에 압축 및 암호화된 파일로 저장됩니다. 이러한 파일은 생성 직후 연결이 해제되므로 디렉터리 목록에 표시되지 않습니다. 해당 터미널이 닫히면 점유된 디스크 공간이 해제됩니다.

Gnome은 사용자가 출력 로그를 얻지 못하도록 최선을 다하고 있는 것 같습니다. 이 유틸리티를 사용하여 이 문제를 해결할 수 있습니다 script. 매뉴얼 페이지에서:

    script - make typescript of terminal session

대답은 간단합니다. script프로그램을 실행하기 전에 시작하면 됩니다. 즉, 다음을 교체하십시오.

gnome-terminal -- ./program +config그리고 gnome-terminal -- script -f $LOG_FILE -c "./program +config".

예를 들어 프로그램이 종료된 후 출력을 찾아야 하는 위치 $LOG_FILE에 올바른 값을 지정해야 합니다 .LOG_FILE=$HOME/.terminal.log

관련 정보