私のPythonプログラムの一部には、管理者アクセスが必要です。gksudo
コマンドと同様のGUIポップアップを使用してroot権限を取得するにはどうすればよいですか?
プログラムのごく一部に対してのみroot権限が必要なので、特定の機能に対する権限のみを持つことが望ましいでしょう。
私は次のようなことができることを望んでいます:
gksudo(my_func, 'description of why password is needed')
gksudoを使用して、管理者権限で実行されているプログラムを起動できます。rootとして実行する必要があるアプリケーションの部分は、コマンドラインとは別のプロセスとして呼び出すことができる必要があります。2つの間の何らかの通信が必要な場合は、ソケットを使用したり、ファイルを監視したりできます。
ここには2つのオプションがあります。
root権限を必要とするプログラムの部分を別のファイルにしてから、次のようにファイルを実行する必要があります。
>>> import subprocess
>>> subprocess.call(['gksudo','python that_file.py'])
これにより、パスワードプロンプトが表示され、rootとしてthat_file.pyが実行されます。
また、プログラムを最初からrootとして実行し、プログラムユーザーに最初からコマンドラインで「gksudopython your_program.py」と入力するように要求することもできます。これは、プログラムが通常から起動される場合は明らかに最善の方法ではありません。メニュー。