我正在 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")
单击按钮后,立即调用该方法,但未显示标签 -重新启动 web 服务器 apache2 在终端中此时的输出是 - * 重新启动 web 服务器 apache2 [OK] ... 等待,一旦 apache重新启动显示下一行 - Web server apache2 Restarted
我该如何解决这些问题 -
- 我不想在标签文本中对消息进行硬编码。那么如何跟踪终端输出并将其捕获到 python 变量中,以便我可以设置标签文本。
- 由于我使用的是 gksudo 弹出窗口来输入密码,但问题是它正在显示命令。如何在 python 中优雅地使用 sudo?
我对python完全陌生。提前致谢