At one time I had submitted code to attempt a profile directory migration from within in startkde.
Here is the snippet. Probably needs some more error checking!
================================== if [ -n "$KDEHOME" ]; then echo "[startkde] KDEHOME is preset to $KDEHOME." 1>&2 export KDEHOME=$KDEHOME else # $KDEHOME is NOT already preset in the environment. Try to help. # This might be overkill but does provide flexibility. echo "[startkde] KDEHOME is not set." 1>&2 # This script and kstandardirs.h and kstandardirs.cpp must match. # The latter two must be edited/patched before compiling. export KDEHOME=$HOME/.trinity echo "[startkde] Set KDEHOME to $KDEHOME." 1>&2 # This is a feeble attempt to migrate a KDE3 profile to Trinity. If $HOME/.trinity exists # then skip this one-time migration section. if [ ! -d $HOME/.trinity ]; then if [ -d $HOME/.kde3 ]; then # If $HOME/.kde3 exists, probably safe to presume a profile from KDE3 or a previous Trinity. # Go ahead and migrate that profile. cp -a $HOME/.kde3 $HOME/.trinity elif [ -d $HOME/.kde ]; then # This is tricky --- ensure this profile directory is NOT KDE4. if [ ! -f $HOME/.kde/share/config/nepomukstrigirc ] && [ ! -f $HOME/.kde/share/config/phonondevicerc ] && [ ! -f $HOME/.kde/share/config/plasma-desktoprc ]; then # That was three different tests. Probably not a KDE4 profile. There is a chance # the user's KDE3 profile got contaminated testing KDE4. If that is the case then # too bad. The safe route is not to migrate. Otherwise if this 3-point test passes # then migrate the profile. cp -a $HOME/.kde $HOME/.trinity
# Let's remove any KDE3 "contamination."
rm -fr ~/.trinity/cache-* rm -fr ~/.trinity/socket-* rm -fr ~/.trinity/tmp-*
# Need to fix the following lines with the correct path for the old KDE profile directory! find ~/.trinity -path ~/.trinity/share/apps/kmail/mail -prune -o -type f -exec sed -i 's|/.kde3|/.trinity|g' {} ; find ~/.trinity -path ~/.trinity/share/apps/kmail/mail -prune -o -type f -exec sed -i 's|/opt/kde3/|/opt/trinity/|g' {} ; find ~/.trinity -path ~/.trinity/share/apps/kmail/mail -prune -o -type f -exec sed -i 's|/usr/share/|/opt/trinity/share/|g' {} ;
# Need to fix certain config files! The previous find command should fix such config files. # kpatrc (KPatience); change /usr/share to $PREFIX/share # Back=/usr/share/apps/carddecks/decks/deck2.png # Cards=/usr/share/apps/carddecks/cards-default/
# Need a way to update sym links in ~/.trinity/Autostart!
# etc.! fi fi fi fi ==================================
In this post I added the cleanup commands I posted earlier and comments for additional migration support. This snippet needs more work and is posted only as a starter.
Darrell