2015-11-07 52 views
0

通過python,有沒有辦法打開gnome-terminal然後發送命令給它,然後在那個窗口中運行?例如,在哪裏可以做類似Python - 與gnome-terminal進行通信

terminal.communicate("echo testing") 

和gnome-terminal打印輸出?我已經看到了使用子進程Popen並進行通信的類似帖子,雖然我沒有得到新開放的終端來運行命令。感謝您的幫助

+0

這類似於[這個問題](http://askubuntu.com/questions/313554/how-to -control-gnome-terminal-from-python-scrypt),其中未答覆。回答的問題似乎只在gnome終端開始時發送一個命令。 – Shatnerz

+0

來自複本的答案已經處理它:創建一個命名管道並將命令寫入它(有多少個)。 – jfs

+0

我想我錯過了一些東西。我無法讓終端從命名管道運行命令 – Shatnerz

回答

0

你可以做使用os.system來執行命令,像這樣

import os 
os.system("gnome-terminal -e 'bash -c \"sudo apt-get update; exec bash\"'") 
+0

是的,但那裏沒有固定的連接。稍後再說,我想在特定終端中自動運行其他命令,而不需要用戶輸入命令 – Shatnerz

+0

您可以隨時使用&&符號在一行中執行多個命令,例如 - sudo apt-get update && sudo apt-得到升級 – Bharat

+0

感謝您的跟進。我知道使用&&,但我一直在尋找能夠從python控制終端,不僅僅是啓動終端並運行一系列命令。也許我想在稍後的某個特定事件之後再推命令。這只是我爲我正在研究的東西而設計的一種想法。我可能最終只會在終端開放時運行。它完成了工作,但我只是想這可能會在稍後添加更多的功能 – Shatnerz