2011-09-27 338 views
13

我正在開發一個有按鈕的程序。當按下時,我想開一個運行終端:從python打開終端

sudo apt-get update 

我使用:

os.system("gnome-terminal -e 'sudo apt-get update'") 

這工作得很好。唯一的問題是當更新完成時,終端關閉。 我能做些什麼來讓終端打開?

+0

看到這個職位:http://stackoverflow.com/questions/3512055/avoid-gnome-terminal-close-after-script-execution – rodion

回答

11

你可以這樣做:

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

和可能與konsole相同(如果我使用KDE)? – mika29

+0

os.system(「gnome-terminal -e'sudo apt-get update'」)。不知道爲什麼你需要額外的'bash',當這工作得很好。 – mastash3ff

+1

@ mastash3ff - 閱讀問題。 「更新完成後,終端關閉」。額外的bash調用使其保持打開狀態。 – jterrace

4

有幾個選擇:

  • 添加; read -p "Hit ENTER to exit"到命令行的末尾。
  • ; sleep 10加到命令行末尾等待一會兒,然後退出。
  • 配置gnome終端:

    轉到「編輯」菜單,然後單擊「當前配置文件」。點擊「標題和命令」標籤。在那裏,有一個叫做「當命令退出」的設置。將其更改爲「保持終端打開」。你也可以創建一個新的配置文件。

0

可以刪除-e

os.system("gnome-terminal 'sudo apt-get update'") 
+1

無法讓這個工作。必須按照上面的建議使用-e選項。 – mastash3ff