• [^] # Re: sudo shutdown

    Posté par . En réponse au message [CLI] Arrêter la machine en utilisateur. Évalué à 3.

    Ouais, on peut râler sur ces censurés de développeurs qui ont le culot de développer des trucs...

    Ou alors on peut prendre un (tout petit) peu de temps pour essayer de comprendre à quoi ils servent.

    c'était UPower qui marchait je ne sais comment

    UPower n’a jamais été en charge de l’extinction de la machine, et son fonctionnement n’a jamais été mystérieux pour quiconque lit la doc. C’est un service D-Bus qui donne accès aux informations sur l’état de l’alimentation du système (évitant ainsi d’aller fouiller directement dans /sys/class/power_supply), informe les applications qui le souhaitent des changements de cet état (passage d’une alimentation sur secteur à une alimentation sur batterie par exemple), et fournit des méthodes pour commander la mise en veille et l’hibernation.

    puis UPower2 qui s'utilisait avec un appel de machin D-Bus tout à fait imbitable

    Jamais entendu parler d’UPower2. Tu ne confonds pas avec UDisks et UDisks2 ?

    puis ConsoleKit (ou PoliciKit, je confonds toujours ces MachinKits

    ConsoleKit est un service de gestion des sessions utilisateur. PolicyKit est un service d’autorisation, par lequel un programme réalisant des tâches « privilégiées » peut mettre ses services à la disposition de programmes non-privilégiés.

    En l’espèce, l’extinction de la machine nécessite des privilèges administrateurs. Au lieu d’acquérir de tels privilèges (via sudo ou assimilé), un utilisateur non-privilégié peut demander l’extinction au service ConsoleKit, qui vérifiera préalablement, via PolicyKit, que cet utilisateur est autorisé à le faire. Dans la configuration par défaut de PolicyKit et ConsoleKit, un utilisateur normal est autorisé à éteindre la machine s’il est physiquement connecté dessus (ça peut se changer pour ceux qui n’aimeraient pas cette idée).

    maintenant peut-être un autre bidule à base de systemd qui est censé remplacer toutes ces merdes

    systemd-logind remplace ConsoleKit pour gérer les sessions utilisateurs. Rien d’autre ne change.