2011-12-31 33 views
0

可能重複:
How to invoke another terminal for output programmatically in C in Linux如何在Linux中使用C在單獨的終端上編寫代碼?

我編程客戶端 - 服務器應用程序,我想創建一個調試窗口。

在服務器端,我想在單獨的終端上打印傳入和傳出通信。 我能夠通過gnome-terminal產生一個終端,但是如何在其上寫入而不是在其他終端上寫入。

+0

http://stackoverflow.com/questions/3445645/how-to-invoke-another-terminal-for-output-programmatically-in-c-in-linux – obo 2011-12-31 08:26:36

回答

1

將@ibid想法與您想要的結合在一起。寫入日誌文件並執行:

xterm -e tail "-f" log_file 

這將跨越執行「tai -f日誌文件」命令的xterm。

2

除非你真的需要打印到終端,否則我不會打擾,不僅僅是打印輸出。

我將服務器打印到一個日誌文件(記住經常適當刷新它),然後在另一個終端中使用tail -f來關注它。這還帶來了額外的好處,可以給我一份我可以在閒暇時檢查的服務器調試打印的記錄。

+0

好吧另一個想法,如果我產卵系統(「 xterm「)並將所有STDERR_FILENO重定向到新的xterm,生病能夠實現我想要的,但是如何將STDERR_FILENO映射到新的xterm? – 2011-12-31 08:49:38

+0

@ibid你也可以寫入命名管道而不是文件 – fge 2011-12-31 10:15:24

0

這個問題的「正確」答案是,如果您知道正確的tty編號,您可以寫入/ dev/ttyNUM ...。

但這只是技術上的正確性,你應該做點別的。你試圖做的是錯的。

相關問題