0

ubuntu 12.10ですばやく使用してUbuntuアプリを作成しています。Apache2 Web サーバーを起動、停止、再起動するためのシンプルな GUI です。

最初に、問題に直面しているコードの一部を示しましょう -

    # handler for restart apache button    
    def on_button_restart_clicked(self, button):
        self.label = self.builder.get_object("labelStatus")
        self.label.set_text("Restarting web server apache2")
        os.system("gksudo /etc/init.d/apache2 restart")
        self.label.set_text("Web server apache2 Restarted")

ボタンをクリックするとすぐにメソッドが呼び出されますが、ラベルは表示されません - Restarting web server apache2 ターミナルでは、この時点での出力は - * Restarting web server apache2 [ OK ] ... 待機し、Apache次の行が表示されます - Web server apache2 Restarted

問題を解決するにはどうすればよいですか -

  1. ラベル テキストにメッセージをハード コードしたくありません。では、端末出力を追跡し、それを python 変数にキャプチャして、ラベル テキストを設定するにはどうすればよいでしょうか。
  2. 私は gksudo を使用しているため、パスワードを入力するポップアップが表示されますが、問題はコマンドが表示されていることです。Pythonでsudoを適切に使用するにはどうすればよいですか?

私はpythonがまったく初めてです。前もって感謝します

4

1 に答える 1