Arch, Gnome, and shutdown/reboot
- Magnus Therning
I’ll soon continue documenting my experience with installing and configuring my desktop, but first a note on fixing an irritating issue in Gnome 2.26. Soon after installing Gnome I noticed that I couldn’t reboot or shutdown from inside my Gnome session, I had to log out and use GDM’s action menu instead. Rather irritating, but something I could live with until the weekend. It took a while to find the solution so to safe myself time in the future I’ll document it here. It might even help someone else, who knows?
Whenever I tried to reboot or shutdown I saw the following message appear in ~/.xsession-errors
:
gnome-session[4134]: WARNING: Unable to list sessions: Rejected send message, 2 matched rules;
type="method_call", sender=":1.50" (uid=1000 pid=4134 comm="gnome-session ")
interface="org.freedesktop.ConsoleKit.Manager" member="GetSessions" error name="(unset)"
requested_reply=0 destination="org.freedesktop.ConsoleKit" (uid=0 pid=2838
comm="/usr/sbin/console-kit-daemon "))
After giving up on finding a solution with Google I turned to #archlinux
and was pointed to a forum post. That discussion doesn’t mention the warning message at all, so it wasn’t obvious to me at first that it was the same issue. However, about half-way down the page I found a post by justusjonas that looked relevant. I tried that change, or rather something very similar, and a manual reboot later I could confirm that the change indeed fixed the issue. This is the change I applied:
--- /etc/dbus-1/system.d/ConsoleKit.conf_org 2009-05-02 15:59:40.235077390 +0100
+++ /etc/dbus-1/system.d/ConsoleKit.conf 2009-05-02 16:00:10.108231150 +0100
@@ -32,6 +32,8 @@
<allow send_interface="org.freedesktop.ConsoleKit.Manager"
send_member="GetSeats"/>
<allow send_interface="org.freedesktop.ConsoleKit.Manager"
+ send_member="GetSessions"/>
+ <allow send_interface="org.freedesktop.ConsoleKit.Manager"
send_member="GetSessionForCookie"/>
<allow send_interface="org.freedesktop.ConsoleKit.Manager"
send_member="GetSessionForUnixProcess"/>