Esta não é realmente uma pergunta rápida, mas pura em Python.
Veja a Subprocess
documentação, especialmente a check_output
método.
Você pode fazer algo assim (não testado):
def on_apachestart_clicked(self, widget):
result = subprocess.check_output(['sudo', 'service', 'apache2', 'start'])
if result.split('[ ')[1].startswith('OK'):
text = "Success!"
else:
text = "Failed!"
self.label1.set_text(text)
Talvez também pegue o CalledProcessError
na chamada.