Quick comment here. The above was very important. ;-) Trinity expects to see KDEROOTHOME set, not KDEHOME, when run as root. Maybe you can help here; is this a Debian-only distinction, or do other Linux systems also use KDEROOTHOME?
Setting KDEROOTHOME helps when running as root. Trinity did not create a new /root/.kde3 directory.
I made the change in my proposed startkde. An updated proposed script is attached. I added the following test:
# Run a quick test for root. if [ -z "$KDEROOTHOME" ] && [ "$UID" = "0" ]; then echo "startkde: User ID is $UID. Setting KDEROOTHOME to $KDEHOME." export KDEROOTHOME=$KDEHOME fi
So setting KDEROOTHOME will help and I hope my change cures the problem.
However, in addition to running my conky display from /root/.kde/Autostart, I realized that KPersonalizer was not running. That provides confirmation that Trinity starts out honoring $KDEHOME for root but then changes sometime after. Trinity must be reading the startupconfig file from /root/.kde in order to not run KPersonalizer. So although KDEROOTHOME helps avoid some of the problems I described, there remains something awry with the way Trinity starts out correctly and then veers off course.
I have included a check for KDEHOME and KDEROOTHOME in kdelibs; if KDEROOTHOME is not set then KDEHOME is used. This mitigates the need for the addition to the startkde script that you posted above.
All other proposed changes should be incorporated by now, with minor editing to some of the messages for clarity.
Tim