ユーザーとして(端末ではなく)GUIで実行するpython3アプリを作成しています。このアプリがユーザーとして実行されている間に、root 権限が必要なコマンドも実行する必要があります。ターミナルでこれを行う方法の多くの例を見てきました。これは、実際にはターミナルでうまく機能します。
import subprocess
subprocess.call('sudo echo "Hello world!"', shell=True)
...しかし、私の python アプリは端末で実行されていません。また、このメソッドは、GUI コードが呼び出したときに、目に見えるシステム プロンプトを自動的に表示しないようです。
他のアプリ、特に Snap Store は、root 権限で何かをする必要があるときに、システム ポップアップのように見えるものを何らかの方法で起動します。たとえば、Snap Store を使用して Ubuntu に Notepad++ をインストールすると、このポップアップが表示されます。これは、Snap Store の人々がカスタム設計したものではなく、システムのポップアップであると思われます。
私は Linux システムにあまり詳しくありませんが、これはシステム ポップアップではなくカスタム ポップアップではないと思います。代わりに、ユーザーはそれをシステム (既に認識している) に提供し、サードパーティのアプリ自体は実際のパスワードにアクセスできませんが、root としてコマンドを実行できるようになりました。
root 権限が必要なコマンドを実行するために、Python アプリから同じポップアップを起動するにはどうすればよいですか? または、代わりに、ユーザーとして実行している Python GUI から root コマンドを実行するにはどうすればよいですか?
あなたが提供できる明確な支援を前もって感謝します!