Check your ~/.xsession-errors and/or ~/.gnome-errors for error messages
that are session related. Error messages from your display manager
(KDM/GDM/XDM) usually go somewhere under /var/log. (/var/log/gdm/\:0.log
for gdm.) It may be useful to tail these files from the console to figure
out what the heck is going on. (tail -f /var/log/gdm/\:0.log
/var/log/syslog /var/log/authlog ~/.xsession-errors etc...)

One thing you should do is clean up that localhost thing and give your box
a name. This can be done by changing /etc/hostname and correctly editing
/etc/hosts. Basically you'll want whatever name you choose to point at the
loopback interface.
An entry like:
127.0.0.1 boxname localhost
should be more or less correct. I'm mostly suggesting this because boxen
named localhost bug the hell out of me, but it sounds like things are
failing on gethostname(). KPPP might have mangled /etc/hosts. This is the
best guess I can make without more error log output. :)

| Andrew S. Zbikowski       | Home: 763.591.0977 |
| http://www.ringworld.org  | Work: 763.428.9119 |
| http://www.itouthouse.com | PCS:  612.306.6055 |
|   His power apparently lies in his ability to  |
|           choose incompetent enemies.          |
|    - Crow T. Robot, MST3K, "Prince of Space"   |