A few things to start off with:
Xfce Version: 4.10
Distro: Custom Distro
When I boot into my custom distro and startxfce4 it creates the folder /root/Desktop. I do not have a /root folder because I have changed the location of my /root folder to /home/root. So I want to know how to manipulate Xfce to think its /root folder is at /home/root, or is there a configuration file to change to reflect this change. Any help would be greatly appreciated.
Not a Xfce specifc but I believe you can do that by editing your fstab mounts and use the bind "command"
Add a line in fstab with:
/home/root /root none bind 0 0
I believe you still need to have the /root folder created.
First off thanks for your reply.
I have tried your option, and it works. I just hate to have the folder root lying in the / directory. I just will have to add that to my initial script at boot up to bind those two directories together. I tried messing around with the mount --move command but that would have to take place after xfce has booted. Do you know what part of xfce actually creates that folder automatically (it just creates the folder Desktop inside /root). If i can figure that out, i can adjust some of the files and rebuild that specific part of xfce.
I think it is related with xdg config.
The main config is in /etc/xdg/...
In user folder you have ~/.config/user-dirs.dirs to configure just the user (in you case root).
However your problem will be not solved as the home folder remains as /root.
Have you tried:
usermod -m /home/root root
It should move the home dir of root to the new location, and maintain it there.
(to avoid any problem, first delete in fstab the bind line and reboot)
Last edited by Darktux (2013-03-27 09:43:10)
Ok! That solution works great. I added that command to my .xinitrc file for the fix. So now I know it's xfce4-session that is actually creating the /root/Desktop directories. I will have to look through the source code in xfce4-session to rebuild it to reflect how i want it to manipulate a session. Thanks.
Ok, having it on your .xinitrc is a workaround but not solve the problem. On login the /root/Desktop is created, and shouldn't.
The usermod command should be used only once and from then the home dir for root user should be /home/root, so the Desktop dir should go to (be created in) /home/root/Desktop. So, in theory it shouldn't be necessary to have it in your .xinitrc
Can you please check your xdg config files and post them ?
xdg-user-dirs uses two files for configuration:
For all users : /etc/xdg/user-dirs.defaults
For one specific user: ~/.config/user-dirs.dirs
Typicaly it is something like
XDG_DESKTOP_DIR="$HOME/Desktop" XDG_DOWNLOAD_DIR="$HOME/Downloads" XDG_TEMPLATES_DIR="$HOME/Templates" XDG_PUBLICSHARE_DIR="$HOME/Public" XDG_DOCUMENTS_DIR="$HOME/Documents" XDG_MUSIC_DIR="$HOME/Music" XDG_PICTURES_DIR="$HOME/Pictures" XDG_VIDEOS_DIR="$HOME/Videos"
Pointing any of the above variables to $HOME disables the respective directory