I began noticing recently that sometimes when trying to send a file to the trash, I was told that it couldn’t be moved there and that I’d have to delete it entirely to get rid of it. I didn’t really think anything of this at first, until I began to suspect that it was only happening with files in my /home directory.
My /home directory is on its own partition on a standard hard disk. The rest of the file system is on another partition on an SSD. In order to fully reap the speed benefits of an SSD, I symbolically linked as many non-personal directories as I could from /home to /var/jay on the SSD. These included ~/.local, ~/.cache, ~/.gconf, ~/.mozilla, etc.
I didn’t really know much about the way Linux/GNOME handles Trash. Files deleted from a third internal hard disk or from USB sticks would be moved to /.Trash-1000 on that device, while appearing in “Trash” in Nautilus. Files from a user’s home directory, however, don’t go to /home/.Trash-1000, or even /.Trash-1000 — instead, they go to ~/.local/share/Trash. Because in my setup this directory was on the SSD rather than the hard disk with the /home partition, GNOME refused to move it there, since that would require copying from one disk to another, which GNOME’s developers (smartly, I think) believe would be alarmingly time-consuming for someone who’s just trying to delete some files — they shouldn’t expect to see a copy dialog grinding away.
In order to try to fix this, I made ~/.local/share/Trash into a symbolic link itself, back to the /home partition at ~/Trash. After this change, things were getting trashed properly — at least, I wasn’t asked to delete them entirely — but they weren’t showing up in Nautilus’s Trash view. I don’t know how Nautilus makes itself aware of all the trash folders spread across different devices, but for whatever reason it wasn’t picking up on this one, even after several reboot cycles.
Finally I gave up and moved ~/.local back onto the same partition as /home, and now everything’s back to normal. But I’d still like to know if it’s possible to keep ~/.local on a separate disk while retaining GNOME’s and Nautilus’s ordinary trash behavior.