글쎄, 우선 이것은 내가 직면한 문제는 아니지만, 이 문제를 더 잘 이해하고 싶습니다.
명령줄에서 컴퓨터를 종료/다시 시작하려면 다음을 호출해야 합니다.
$ sudo poweroff
$ sudo reboot
즉, 이러한 ACPI 호출을 수행하려면 루트 권한이 필요합니다.
그러나 루트 권한을 부여하지 않고 DE(XFCE 사용)를 시작합니다. $ startxfce4 --with-ck-launch
이제 이 --with-ck-launch
매개변수가 XFCE가 시스템을 종료/다시 시작하는 데 도움이 된다는 것을 알고 있지만 어떻게 하는지는 모르겠습니다.
ConsoleKit이 루트 권한 없이 종료되는 이유는 무엇입니까? 슈퍼유저 권한 없이 런레벨을 변경하는 방법은 무엇입니까? 이제 가능해졌습니다. 루트 권한 없이 콘솔에서 내 머신을 종료하려면 어떻게 해야 합니까?
답변1
dbus를 통해 ConsoleKit과 통신할 수 있습니다. 예를 들어, 이 도구를 사용할 dbus-send
때 주목할 만한 몇 가지 명령은 다음과 같습니다.
폐쇄:
dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop
재시작:
dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart
최대 절전 모드 및 일시 중지 명령도 있지만 그것이 무엇인지 모르겠습니다.
편집: 일시 중지 명령을 찾았습니다.
dbus-send --system --print-reply --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Suspend int32:0
최신 시스템에서
dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend