As for your "problem opening DISPLAY" in rxvt, something in your scripts is broken and erasing the $DISPLAY variable. You can test this by typing (assuming you use bash)
:0 is the first local X server. if you have more than one X server, they're :0, :1, :2, :3 etc.
It should then run. If you're using bash, check /etc/profile, ~/.bashrc, ~/.xinitrc, ~/.xsession for anything unsetting or overwriting the DISPLAY variable.
Hmm... if it only has a problem in rxvt, you could either not use rxvt, or check your shortcut you're using to open it for odd parameters that would reset the environment variables.