Nested KDE 4 Session
Instead of using a full-blown new X session for developing software you can use Xephyr to run your development build of KDE 4 in a session parallel to your normal working session.
You can also do this with xnest, but as xnest cannot handle extensions like Render many people prefer Xephyr.
Assuming you setup your build environment following the instructions in Getting_Started/Build/Environment, simply put the following script in ~/kde/src/run_kde_nested.
#!/bin/bash Xephyr :1 -screen 1024x768 & sleep 3 export DISPLAY=:1 dbus-launch $KDEDIR/bin/startkde
Make this file executable. Entering the ~/kde/src directory should set up the required environment variables, so do that before running the script.
You can also use Xephyr with KDM via the Xdmcp protocol and simply a new KDE 4 session to KDM.
On Kubuntu, you can enable it by changing
[Xdmcp] # Whether KDM should listen to incoming XDMCP requests. # Default is true Enable=false
in /etc/kde3/kdm/kdmrc to
[Xdmcp] # Whether KDM should listen to incoming XDMCP requests. # Default is true Enable=true
Adjust your /etc/kde3/kdm/Xaccess to allow your local machine access. Additionally you should make sure to set up a port blocking policy on all external interfaces for the Xdmcp port if you are doing this on a laptop or a PC in an untrusted environment.
If you are done, simply launch Xephyr:
Xephyr -query localhost :1 -host-cursor -screen 1024x768&
where -host-cursor tries to reuse the host's cursor and -screen sets the screen dimensions.
Xephyr -ac :1&
Another option to try if you get lots of refused connection errors is you may need to grant access to your kde-devel user to your X server. Do that using:
If you do not have Xephyr, you can also use Xnest:
Xnest -ac :1& export DISPLAY=:1
You may run into this error:
Call to lnusertemp failed (temporary directories full?) Check your installation."
If so, try this:
The above code assumes you work with user kde-devel.