У меня есть программа Python, должен получить информацию от smartctl, это означает, что программа выполняется как заголовок. Но интерфейс QT похож на изменение в собственном интерфейсе How, я решаю эту проблему?
Спасибо, Stephen
Если Вы используете smartctl
с subprocess.Popen()
и ничему иному не нужно sudo
полномочие кроме subprocess.Popen()
можно просто добавить sudo
к той части. Например,
subprocess.Popen(['sudo','smartctl','-i','/dev/sda'])
Так как Вы упоминаете QT в своем вопросе, Вы, вероятно, хотите сохранить пароль пользователя через диалоговое окно и передать пароль для подобрабатывания через stdin. Например,
proc = subprocess.Popen(['sudo','-S','smartctl','-i','/dev/sda',stdin=subprocess.PIPE])
smartctl_output = proc.communicate(input=user_password_variable)
В зависимости от Вашей цели Вы также могли бы рассмотреть добавление Вашего имени пользователя к disk
группа так, чтобы Вы не должны были должны быть использовать sudo
с smartctl
вообще