Saturday, April 11, 2009

KDM Fails to Login in FreeBSD

After installing FreeBSD 7.1/amd64, X and KDE4, I finally decided to try using a display manager and I went with KDM (instead of simply XDM). It ran successfully but whenever I tried to login, the KDM would take my login and then throw me back at the login screen.

Just to get started, here's what you need to do to install it:
1) In /etc/ttys change the XDM line to
# ttyv8 "/usr/local/kde4/bin/kdm -nodaemon" xterm on secure

2) Link for session manager
# ln -s ~/.xinitrc ~/.xsession

3) Restart ttys
# kill -HUP 1

You should have the login screen (KDM) up and running...and here's where the problem happened. This was the error message I was getting

Apr 11 13:01:28 media kdm-bin: :0[1131]: Cannot open ConsoleKit session: Unable to open session: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory

I still haven't tracked the exact cause of the issue but if you enable dbus with the Gnome Hardware Abstraction Layer (HAL) then KDM will work.

1) Add to /etc/rc.conf
# dbus_enable="YES"
# hald_enable="YES"

2) Reboot or start the services
# /usr/local/etc/rc.d/dbus start
# /usr/local/etc/rc.d/hald start

You should be able to enjoy your display manager now just like in any desktop system.