我想制作一个程序(快速)来编辑一些根文件。
我的问题:如何请求 root 权限(单击按钮后)来执行命令(就像软件中心那样)?
我希望它是通用的。适用于 gnome 和 kde
答案1
如果你执行
侏儒:
system("gksudo <command>");
KDE:
system("kdesudo <command>");
答案2
自从我在 2012 年提出这个问题以来,很多事情都发生了变化。如今,pkexec
是作为 root 运行程序的首选方式,因为许多桌面环境都会为其实现自己的前端(polkit 代理),这意味着您不必费心检查不同的环境。此外,gksudo
和kdesudo
已被弃用。
从 Python 3.5 开始,正确的做法是:
import subprocess
subprocess.run(["pkexec", "<command>", "<arg1>", "<arg2>"])