Pytanie zadane przez K.Chen brzmi: dlaczego potrzebuję uprawnień sudo, kiedy robię to z interfejsu CLI, chociaż nie potrzebuję takich uprawnień, kiedy robię to z GUI.
Pierwszą częścią odpowiedzi jest to, że ludzie, którzy projektują środowiska pulpitu, takie jak Gnome, KDE, Xfce, Mate, Cinnamon, ... próbują uprościć pracę swoich użytkowników i konfigurują zamykanie i ponowne uruchamianie bez konieczności posiadania poświadczeń sudo. To, nawiasem mówiąc, oznacza, że nie musi być sekwencja wyłączania, która ma nie wiązać zamknięcie programu, który nie wymaga przywileje sudo (nie odwrotnie, że).
Nie wiem szczegółowo, jak to robi każdy DE, ale wiem, że istnieje delikatny sposób na obniżenie lub ponowne uruchomienie / zamknięcie / hibernację systemu, który nie wymaga uprawnień roota. Oryginalny post można znaleźć w poście na forum Arch Linux . Zasadniczo sprowadza się do wydawania następujących poleceń:
postój
#!/bin/bash
dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit"/org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop
restart
#!/bin/bash
dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart
dbus-suspend
#!/bin/bash
dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend
hibernować
#!/bin/bash
dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Hibernate
Domyślam się, że przyciski GUI używają z grubsza tych poleceń. Dla pewności należy przyjrzeć się kodowi, ale uważam, że jest to bezpieczny zakład.