In /etc/inittab there's a line near the top of the file that sets the default run level. This is where you can change it to 3 instead of 5.

Then to straighten out your init for runlevel 3,

cd /etc/rc3.d

Inside here are links to init scripts and each are numbered with a S## to indicate the order they start, 0-99. You can delete links for any of these services you do not want to start in run level 3.

rm S99kdm
for example

While in rc3.d, you can add new ones by creating links to the init scripts in /etc/init.d

ln -s ../init.d/kdm S99kdm



rc-update can be very helpful in adding and deleting services from a run level or all runlevels, and KDE also has a services manager GUI front-end for rc-update.

rc-update add/del servicename runlevel

In this example, choose either "add" or "del" to add or delete a service, list the service's name, and enter the number of the runlevel or the word "defaults". man rc-update will tell you a whole lot more about the program.