1 votes

Demander la permission de la racine dans un programme

Je voulais faire un programme (avec rapidement) qui édite quelques fichiers racines.

Ma question : Comment puis-je demander la permission de l'utilisateur root (après avoir cliqué sur un bouton) pour exécuter une commande (comme le fait le centre logiciel) ?
Je veux qu'il soit universel. Pour gnome et kde

2voto

cauon Points 1693

Une telle fenêtre popup apparaîtrait si vous exécutez

Gnome :

system("gksudo <command>");

KDE :

system("kdesudo <command>");

1voto

mid_kid Points 671

Beaucoup de choses ont changé depuis que j'ai posé cette question en 2012. De nos jours, pkexec est la manière préférée d'exécuter les choses en tant que root, car de nombreux environnements de bureau implémenteront leur propre front-end (agent polkit) pour cela, ce qui signifie que vous n'aurez pas à vous soucier de vérifier les différents environnements. De plus, gksudo y kdesudo ont été dépréciés.

Depuis Python 3.5, la façon correcte de procéder est la suivante :

import subprocess
subprocess.run(["pkexec", "<command>", "<arg1>", "<arg2>"])

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X