One problem with tl-desktop-activate is that it *permanently* changes the menu configuration, by writing things to ~/.config/menus. This causes problems in several cases:
* If you have a NFS home directory, the menus will be changed on all machines.
* If you switch between a profile which is customized and one which is not, you will get problems, since there's no "tl-desktop-UNactivate".
On our demo system, we have hacked tl-desktop-activate.sh so that it removes ~/.config/menus/applications.menu unless TLPROFILE=userdesktop. Ugly.
A much cleaner approach would be to use a separate and possibly temporary directory. XDG defines a few variables for this, such as XDG_CONFIG_HOME and XDG_DATA_HOME. GNOME on eudemo seems to care about XDG_CONFIG_HOME. However, tl-desktop-activate wants XDG_DATA_HOME. If I set *both* to ~/.config.test, it seems to work.
My guess is that tl-desktop-activate is wrong and should look at XDG_CONFIG_HOME instead. Additionally, we should consider setting a suitable XDG_CONFIG_HOME by default.
*** Bug 1891 has been marked as a duplicate of this bug. ***