Xfce [ Solved - Sort Of ] A Pile Of Trash

Geezer

Well-Known Member

Reaction score: 160
Messages: 337

The location of the trash directory is ~/.local/share/Trash , but I want to move. It is mounted by gvfs so I cannot merely move it and symlink it.

Anyone know how?
 

CuatroTorres

Member
Developer

Reaction score: 38
Messages: 78

Are you using XDG? ($XDG_DATA_HOME/Trash)
In the past you could change the trash to another drive by creating a /.Trash-userid folder.
 
OP
Geezer

Geezer

Well-Known Member

Reaction score: 160
Messages: 337

I have installed xdg-user-dirs, which is both simple and convoluted. Does not seem to help. Nothing in there about trash.

It looks - to me - as if xfce is hardcoded with some xdg defaults.

Anyone else got any ideas?
 
OP
Geezer

Geezer

Well-Known Member

Reaction score: 160
Messages: 337

can yiu mount null real trash over it?
I did try using nullfs to mount it from somewhere else to where it is expected.

But you cannot move stuff to Trash on a different mount or filesystem.
 

CuatroTorres

Member
Developer

Reaction score: 38
Messages: 78

I did try using nullfs to mount it from somewhere else to where it is expected.

But you cannot move stuff to Trash on a different mount or filesystem.

Disclaimer: I'm not on a FreeBSD/Xfce machine and the paths may not be real.

I couldn't find a way to modify the location using gfvs/gio (/usr/local/share/gvfs/mounts/trash.mount) or xdg, it seems to create the trash at the default location as per spec.
Instead I can make a symbolic link ln -s ~/.local/share/Trash /newpath. I can't access through the file manager (trash:///) however it worked internally. You can add an additional link in your file manager or investigate the Xfce/Thunar reg.

Check if nullfs works by making an additional folder /.Trash-1000 (your uid) with the proper permissions. The folder should hang from / on your new mount point.
 
OP
Geezer

Geezer

Well-Known Member

Reaction score: 160
Messages: 337

Thank you CuatroTorres . A bit closer!

ln -s ~/.local/share/Trash /newpath
Yes, I can do that, but the files are still in ~/.local/share/Trash

What I want, and initially tried is
mv ~/.local/share/Trash newpath
ln -s newpath ~/.local/share/Trash

which does not work.

additional folder /.Trash-1000 (your uid) with the proper permissions
Check if nullfs works

If I merely create that directory, then:
  • the sub-directories files and info are created
and
  • anything that I move to mountpoint/.Trash-xxxx/files appears in the Thunar Trash folder, but it cannot be restored.

If I additionally mount_nullfs /.Trash-xxxx ~/.local/share/Trash, then:
  • Trash will not work because it is on a different gvfs mount.

But if I mount_nullfs ~/.local/share/Trash /.Trash-xxxx, then:
  • anything that I move to Trash appears twice in the Thunar Trash folder
and
  • the trashed files are still in ~/.local/share/Trash

So it appears that mountpoint/.Trash-xxxx/files is seen by Thunar but not usable.
 
OP
Geezer

Geezer

Well-Known Member

Reaction score: 160
Messages: 337

Aha, with your help I think I have got it.

No need for nullfs.

rm -r ~/.local/share/Trash
ln -s mountpoint/.Trash-xxxx ~/.local/share/Trash


So I can move and symlink it, but only to that directory.
 
OP
Geezer

Geezer

Well-Known Member

Reaction score: 160
Messages: 337

It can be a little more graceful - if anyone is interested.

It can alternatively be mountpoint/.Trash/xxxx , so long as .Trash has the sticky bit.
 

CuatroTorres

Member
Developer

Reaction score: 38
Messages: 78

Well, all of that was described in the link above. In my experience, KDE showed me that it made a separate .trash-userid folder on my second drive for each user when Xfce 4.12? didn't. Each desktop environment handles it in a unique way. The result is that I couldn't move items to the trash, only permanently delete them. When the folder became available the trash worked.
On the other hand, I had linked /user/downloads on my second disk. When I deleted huge files they stayed in the trash on that disk, but at some point this stopped being the case and it moved the files to the trash on first disk with the cost of transferring.
Great!
 
OP
Geezer

Geezer

Well-Known Member

Reaction score: 160
Messages: 337

Well, all of that was described in the link above.

Yes it was. Most of it.

But that does not mean it all works in all implementations.

With xfce 4.16 under freebsd 13.0-RELEASE-p1 it works, only if ~/.local/share/Trash is a symlink to .Trash[/-]xxxx

Seeing as you may have many mounts, ~/.local/share/Trash can only be a symlink to .Trash[/-]xxxx on one of them.

I have /usr/home on its own drive (mirror actually) so I use /usr/home/.Trash/xxxx
 
Top