About execute “sudo python3 program” at ubuntu 1604












2















I have a python program needs to get the information from smartctl,
it means the program executes as the title.
But the QT interface looks like a change to a native interface
How do I solve this problem?



Thanks,
Stephen










share|improve this question







New contributor




Stephen Lu is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





















  • I'm sorry, but what is wrong with GSmartControl?

    – N0rbert
    9 hours ago
















2















I have a python program needs to get the information from smartctl,
it means the program executes as the title.
But the QT interface looks like a change to a native interface
How do I solve this problem?



Thanks,
Stephen










share|improve this question







New contributor




Stephen Lu is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





















  • I'm sorry, but what is wrong with GSmartControl?

    – N0rbert
    9 hours ago














2












2








2








I have a python program needs to get the information from smartctl,
it means the program executes as the title.
But the QT interface looks like a change to a native interface
How do I solve this problem?



Thanks,
Stephen










share|improve this question







New contributor




Stephen Lu is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












I have a python program needs to get the information from smartctl,
it means the program executes as the title.
But the QT interface looks like a change to a native interface
How do I solve this problem?



Thanks,
Stephen







sudo gui






share|improve this question







New contributor




Stephen Lu is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question







New contributor




Stephen Lu is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question






New contributor




Stephen Lu is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked yesterday









Stephen LuStephen Lu

112




112




New contributor




Stephen Lu is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





Stephen Lu is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






Stephen Lu is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.













  • I'm sorry, but what is wrong with GSmartControl?

    – N0rbert
    9 hours ago



















  • I'm sorry, but what is wrong with GSmartControl?

    – N0rbert
    9 hours ago

















I'm sorry, but what is wrong with GSmartControl?

– N0rbert
9 hours ago





I'm sorry, but what is wrong with GSmartControl?

– N0rbert
9 hours ago










1 Answer
1






active

oldest

votes


















2














If you are using smartctl with subprocess.Popen() and nothing else needs sudo privilege except subprocess.Popen() you can just add sudo to that part. For example,



subprocess.Popen(['sudo','smartctl','-i','/dev/sda'])


Since you're mentioning Qt in your question, you probably want to save user's password via a dialog and pass the password to subprocess via stdin. For instance,



proc = subprocess.Popen(['sudo','-S','smartctl','-i','/dev/sda',stdin=subprocess.PIPE])
smartctl_output = proc.communicate(input=user_password_variable)




Depending on your purpose, you also might consider adding your username to disk group so that you shouldn't need to use sudo with smartctl at all






share|improve this answer
























  • pkexec might be better here. It should show a graphical prompt for password.

    – Olorin
    yesterday











  • @Olorin True. I sort of stopped suggesting it, since for some reason pkexec has to be configured and some people here don't like it. ¯_(ツ)_/¯

    – Sergiy Kolodyazhnyy
    22 hours ago











  • @SergiyKolodyazhnyyfor basic use cases it seems to be autoconfigured in 18.04, probably in earlier versions too but for sure i assume in following versions.

    – Videonauth
    16 hours ago











Your Answer








StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "89"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});






Stephen Lu is a new contributor. Be nice, and check out our Code of Conduct.










draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1123356%2fabout-execute-sudo-python3-program-at-ubuntu-1604%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









2














If you are using smartctl with subprocess.Popen() and nothing else needs sudo privilege except subprocess.Popen() you can just add sudo to that part. For example,



subprocess.Popen(['sudo','smartctl','-i','/dev/sda'])


Since you're mentioning Qt in your question, you probably want to save user's password via a dialog and pass the password to subprocess via stdin. For instance,



proc = subprocess.Popen(['sudo','-S','smartctl','-i','/dev/sda',stdin=subprocess.PIPE])
smartctl_output = proc.communicate(input=user_password_variable)




Depending on your purpose, you also might consider adding your username to disk group so that you shouldn't need to use sudo with smartctl at all






share|improve this answer
























  • pkexec might be better here. It should show a graphical prompt for password.

    – Olorin
    yesterday











  • @Olorin True. I sort of stopped suggesting it, since for some reason pkexec has to be configured and some people here don't like it. ¯_(ツ)_/¯

    – Sergiy Kolodyazhnyy
    22 hours ago











  • @SergiyKolodyazhnyyfor basic use cases it seems to be autoconfigured in 18.04, probably in earlier versions too but for sure i assume in following versions.

    – Videonauth
    16 hours ago
















2














If you are using smartctl with subprocess.Popen() and nothing else needs sudo privilege except subprocess.Popen() you can just add sudo to that part. For example,



subprocess.Popen(['sudo','smartctl','-i','/dev/sda'])


Since you're mentioning Qt in your question, you probably want to save user's password via a dialog and pass the password to subprocess via stdin. For instance,



proc = subprocess.Popen(['sudo','-S','smartctl','-i','/dev/sda',stdin=subprocess.PIPE])
smartctl_output = proc.communicate(input=user_password_variable)




Depending on your purpose, you also might consider adding your username to disk group so that you shouldn't need to use sudo with smartctl at all






share|improve this answer
























  • pkexec might be better here. It should show a graphical prompt for password.

    – Olorin
    yesterday











  • @Olorin True. I sort of stopped suggesting it, since for some reason pkexec has to be configured and some people here don't like it. ¯_(ツ)_/¯

    – Sergiy Kolodyazhnyy
    22 hours ago











  • @SergiyKolodyazhnyyfor basic use cases it seems to be autoconfigured in 18.04, probably in earlier versions too but for sure i assume in following versions.

    – Videonauth
    16 hours ago














2












2








2







If you are using smartctl with subprocess.Popen() and nothing else needs sudo privilege except subprocess.Popen() you can just add sudo to that part. For example,



subprocess.Popen(['sudo','smartctl','-i','/dev/sda'])


Since you're mentioning Qt in your question, you probably want to save user's password via a dialog and pass the password to subprocess via stdin. For instance,



proc = subprocess.Popen(['sudo','-S','smartctl','-i','/dev/sda',stdin=subprocess.PIPE])
smartctl_output = proc.communicate(input=user_password_variable)




Depending on your purpose, you also might consider adding your username to disk group so that you shouldn't need to use sudo with smartctl at all






share|improve this answer













If you are using smartctl with subprocess.Popen() and nothing else needs sudo privilege except subprocess.Popen() you can just add sudo to that part. For example,



subprocess.Popen(['sudo','smartctl','-i','/dev/sda'])


Since you're mentioning Qt in your question, you probably want to save user's password via a dialog and pass the password to subprocess via stdin. For instance,



proc = subprocess.Popen(['sudo','-S','smartctl','-i','/dev/sda',stdin=subprocess.PIPE])
smartctl_output = proc.communicate(input=user_password_variable)




Depending on your purpose, you also might consider adding your username to disk group so that you shouldn't need to use sudo with smartctl at all







share|improve this answer












share|improve this answer



share|improve this answer










answered yesterday









Sergiy KolodyazhnyySergiy Kolodyazhnyy

73.6k9153319




73.6k9153319













  • pkexec might be better here. It should show a graphical prompt for password.

    – Olorin
    yesterday











  • @Olorin True. I sort of stopped suggesting it, since for some reason pkexec has to be configured and some people here don't like it. ¯_(ツ)_/¯

    – Sergiy Kolodyazhnyy
    22 hours ago











  • @SergiyKolodyazhnyyfor basic use cases it seems to be autoconfigured in 18.04, probably in earlier versions too but for sure i assume in following versions.

    – Videonauth
    16 hours ago



















  • pkexec might be better here. It should show a graphical prompt for password.

    – Olorin
    yesterday











  • @Olorin True. I sort of stopped suggesting it, since for some reason pkexec has to be configured and some people here don't like it. ¯_(ツ)_/¯

    – Sergiy Kolodyazhnyy
    22 hours ago











  • @SergiyKolodyazhnyyfor basic use cases it seems to be autoconfigured in 18.04, probably in earlier versions too but for sure i assume in following versions.

    – Videonauth
    16 hours ago

















pkexec might be better here. It should show a graphical prompt for password.

– Olorin
yesterday





pkexec might be better here. It should show a graphical prompt for password.

– Olorin
yesterday













@Olorin True. I sort of stopped suggesting it, since for some reason pkexec has to be configured and some people here don't like it. ¯_(ツ)_/¯

– Sergiy Kolodyazhnyy
22 hours ago





@Olorin True. I sort of stopped suggesting it, since for some reason pkexec has to be configured and some people here don't like it. ¯_(ツ)_/¯

– Sergiy Kolodyazhnyy
22 hours ago













@SergiyKolodyazhnyyfor basic use cases it seems to be autoconfigured in 18.04, probably in earlier versions too but for sure i assume in following versions.

– Videonauth
16 hours ago





@SergiyKolodyazhnyyfor basic use cases it seems to be autoconfigured in 18.04, probably in earlier versions too but for sure i assume in following versions.

– Videonauth
16 hours ago










Stephen Lu is a new contributor. Be nice, and check out our Code of Conduct.










draft saved

draft discarded


















Stephen Lu is a new contributor. Be nice, and check out our Code of Conduct.













Stephen Lu is a new contributor. Be nice, and check out our Code of Conduct.












Stephen Lu is a new contributor. Be nice, and check out our Code of Conduct.
















Thanks for contributing an answer to Ask Ubuntu!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1123356%2fabout-execute-sudo-python3-program-at-ubuntu-1604%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

How did Captain America manage to do this?

迪纳利

南乌拉尔铁路局