我的部分python程序需要管理员访问权限。如何使用类似于gksudo
命令的GUI弹出窗口获得root权限?
我只需要为程序的一小部分提供root权限,因此最好只拥有特定功能的权限。
我希望能够做到这样的事情:
gksudo(my_func, 'description of why password is needed')
答案 0 :(得分:5)
gksudo可用于启动以管理员权限运行的程序。应用程序中需要以root身份运行的部分必须能够作为与命令行分开的进程调用。如果您需要在两者之间进行某种形式的通信,则可以使用套接字或监视文件等。
答案 1 :(得分:3)
这里有两个选项:
您需要将需要root权限的程序部分作为单独的文件,然后执行如下文件:
>>> import subprocess
>>> subprocess.call(['gksudo','python that_file.py'])
将显示密码提示并以root身份运行that_file.py
您还可以要求程序从一开始就以root身份运行,只需让程序用户在命令行中从一开始就输入“gksudo python your_program.py”,这显然不是最好的选择,如果您的程序是通常从菜单中启动。