Well, first, did you have the $ in front of xscreensaver? Because that will make it a null command and it won't do anything. Actually, it will tell the shell to see xscreensaver as a variable and execute the command in it... since there is no command it will be nothing at all and try to execute the arguments which isn't a valid command. Needless to say, this isn't what you intended.
But second, are you sure kdm is processing your .xinitrc (or .xsession) file? I've found in the past that it's often not the case.
Put the following:
Code:
#!/bin/sh
xscreensaver -no-splash &
in ~/.kde/Autostart/screensaver (don't worry if the file doesn't exist... you're going to create it) and then do
Code:
chmod +x ~/.kde/Autostart/screensaver
And you should be set.
Edit: As an explanation, kde looks for scripts in $HOME/.kde/Autostart/ when it loads and if it finds any, it executes them. So we just created a simple script to fire off your screensaver when you log in. You can use the same method to start other programs you want running in the background or even ones which spawn windows (like firefox) although I think there should already be an option for those sorts of programs when you edit the menus.