2011-12-31 4 views
0

가능한 중복 :
How to invoke another terminal for output programmatically in C in LinuxLinux에서 C를 사용하여 별도의 터미널에 쓰는 방법은 무엇입니까?

내가 클라이언트 - 서버 응용 프로그램을 프로그래밍하고 내가 디버그 창을 만들려고합니다.

서버 측에서는 수신 및 발신 통신을 별도의 터미널에서 인쇄하려고합니다. gnome-terminal을 통해 터미널을 생성 할 수 있지만 다른 터미널에서는 작성하지 않습니다.

+0

http://stackoverflow.com/questions/3445645/how-to-invoke-another-terminal-for-output-programmatically-in-c-in-linux – obo

답변

1

@ ibid 아이디어를 원하는대로 조합하십시오. 로그 파일을 쓰기보다 실행합니다

xterm -e tail "-f" log_file 

이 걸쳐있는 것이다 명령 "로그 파일을 -f 타이를"실행 xterm 등.

2

터미널에 인쇄해야하는 것이 아니라면, 디버그 출력뿐만 아니라 귀찮은 일이 아닙니다.

서버를 로그 파일로 인쇄 (적절하게 자주 비우는 것을 기억하십시오) 한 다음 다른 터미널에서 tail -f을 사용하여이를 따르십시오. 이것은 내가 여가에서 검사 할 수있는 서버 디버그 인쇄물에 대한 기록을 제공한다는 부가적인 이점을 제공합니다.

+0

괜찮아요 또 다른 아이디어, 어떻게하면 시스템을 생성합니까 (" xterm ") 모든 STDERR_FILENO를 새로운 xterm으로 리다이렉트하면 원하는 것을 얻을 수 있지만 STDERR_FILENO를 새로운 xterm에 매핑하는 방법은 무엇입니까? –

+0

@ibid 파일 대신 명명 된 파이프에 쓸 수도 있습니다. – fge

0

이 질문에 대한 "올바른 답변"은 올바른 tty 번호를 알고있는 경우/dev/ttyNUM ...에 쓸 수 있다는 것입니다.

그러나 이는 기술적으로 정확하기 때문에 다른 작업을해야합니다. 당신이하려는 것은 잘못입니다.