1
cmd = subprocess.run(["sudo", "ovs-vsctl", "list-br"], stdout=subprocess.PIPE, universal_newlines=True)

This is the error message that gets shown when I try to run it.

sudo: no tty present and no askpass program specified

This is a PyQt5 application I am trying out. So I want to know how can I ask for the administrator password in this GUI app?

This is my code:

#!/usr/bin/python3
# -*- coding: utf-8 -*-

import os, sys, design, subprocess
from PyQt5 import QtCore, QtGui, QtWidgets


class ExampleApp(QtWidgets.QMainWindow, design.Ui_MainWindow):
    def __init__(self):
        super(self.__class__, self).__init__()
        self.setupUi(self)
        self.button1.clicked.connect(self.browse_folder)

    def browse_folder(self):
        self.listWidget.clear()

        cmd = subprocess.run(["sudo", "ovs-vsctl", "list-br"], stdout=subprocess.PIPE, universal_newlines=True)
        bridges = cmd.stdout.split('\n')

        if bridges:
            for bridge in bridges:
                self.listWidget.addItem(bridge)

def main():
    app = QtWidgets.QApplication(sys.argv)
    form = ExampleApp()
    form.show()
    app.exec_()

if __name__ == '__main__':
    main()
Wayne Werner
  • 49,299
  • 29
  • 200
  • 290
mbtamuli
  • 697
  • 1
  • 7
  • 19
  • Your python program is a GUI, but sudo will ask for a password on a tty or pseudo-tty. You might find some solutions [here](https://stackoverflow.com/q/21659637/507028). – Neitsa Feb 06 '16 at 11:42
  • How can I use a GUI and run this program as a normal user and only ask the user for administrative access when required? – mbtamuli Feb 19 '16 at 17:52

0 Answers0