2011-09-27 29 views
13

Düğmesi olan bir program geliştiriyorum.python'dan bir terminal açın

sudo apt-get update 

kullanıyorum: Basıldığında, ben çalışan bir terminale açmak istediğiniz Bu iyi çalışır

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

. Tek sorun, güncelleme bittiğinde terminal kapanır. Terminali açık bırakmak için ne yapabilirim?

+0

Bu yayını bakınız: http://stackoverflow.com/questions/3512055/avoid-gnome-terminal-close-after-script-execution – rodion

cevap

11

Bunu yapabilirsiniz:

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

Ve muhtemelen konsole ile aynıdır (KDE kullanırsam)? – mika29

+0

os.system ("gnome-terminal -e 'sudo apt-get update'"). Bu işe yaramazsa neden ekstra 'bash' gerektiğine emin değilim. – mastash3ff

+1

@ mastash3ff - soruyu okuyun. "güncelleme bittiğinde, terminal kapanır". Ekstra bash çağrı, açık kalmasını sağlar. – jterrace

4

birkaç seçenek vardır:

  • komut satırının sonuna ; read -p "Hit ENTER to exit" ekleyin.
  • ; sleep 10 eklemek için komut satırının sonuna bir süre bekleyip çıkın.
  • yapılandır gnome terminali:

    "Düzen" menüsüne gidin ve "Mevcut Profili" tıklayın. "Başlık ve Komut" sekmesine tıklayın. Orada, "Ne zaman komut çıkışı" denen bir ayar var. "Terminali açık tut" olarak değiştirin. Yeni bir profil de oluşturabilirsiniz.

Sen kaldırabilirsiniz
0

-e:

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

Bu işe yaradı. Yukarıda önerildiği gibi -e seçeneğini kullanmak zorunda kaldı. – mastash3ff