On 10/24/05, Dennis J Perkins <[EMAIL PROTECTED]> wrote: > I've found that gdm doesn't call .xinitrc for some reason, so > dbus-launch never runs.
This is true, gdm does not behave the same way as issuing startx from the console. But you can get it to do what you want. I have dbus running right now from gdm. This is what I can gather about how gdm starts up, but have a look at the documentation for a fuller discussion http://www.gnome.org/projects/gdm/docs/gdm.html. Almost everything resides in /etc/gnome/gdm, and the rest resides in $GNOME_PREFIX/share/gdm and $GNOME_PREFIX/share/xsessions. The main difference here between what you want, is that gdm (and xdm I think) are starting an Xsession. You can make it do the same thing. gdm starts up after running the Default script in /etc/gnome/gdm/Init. Then the user authenticates. It runs the Default script in /etc/gnome/gdm/PreSession. Then it runs the /etc/gnome/gdm/Xsession script. Then it runs /etc/gnome/gdm/PostLogin/Default. You don't need to touch any of the Init/Pre/Post scripts, but Xsession is the crux, and where you do most of the customization. Xsession initializes /etc/profile, loads system and user Xresources, keyboard setup, etc. This is where you put stuff you want to run when the session is going. I have beagle, and it has a user run daemon, beagled. I kick this off in Xsession and it runs along until I log out. You could run an xterm or xclock or whatever. I just added this (way more than necessary): # Run beagled if it's available beagledaemon="`gdmwhich beagled`" if [ -n "$beagledaemon" ] && [ -x "$beagledaemon" ]; then echo "$0: Starting beagle daemon: $beagledaemon" beagled fi This has to go before the eval exec $command statement. That statement is the main session manager. $command is parsed from one of two files on the base installation. If you selected Default session, it uses the file $GNOME_PREFIX/share/gdm/BuiltInSessions/default.desktop. If you selected Gnome session, the file is $GNOME_PREFIX/share/xsessions/gnome.desktop. $command is what is on the Exec= line in *.desktop. By default, this says Exec=gnome-session for gnome.desktop. To make this use dbus, change it to Exec=dbus-launch --sh-syntax --exit-with-session gnome-session. Now gdm runs the same way that my .xinitrc file does. There's also a way to have a Custom session with ~/.xsession, but I haven't bothered with that yet. One last thing. $GNOME_PREFIX/share/xsessions is also where you would put any other sessions you might want like kde or xfce. This directory is SessionDesktopDir in gdm.conf. Sorry about being long-winded, but I thought it would be most helpful if I explained the whole process as best as I understand it instead of just saying "change this line in file blah". -- Dan -- http://linuxfromscratch.org/mailman/listinfo/blfs-support FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page