Is there any way to configure Ubuntu to permanently delete files from trash after a certain amount of time?

I don't get why that's not the default behavior in any major OS. I don't want to think about administrating my trash, but I don't want to accidentally delete something either. Am I the only one with that opinion?


Use trash-cli Install trash-cli (click image to install or run sudo apt-get install trash-cli).

Run trash-empty 30 to remove all files from trash which are older than 30 days. (You can change this number as you like.)

To automate this, add a command to Startup Applications:

enter image description here

Please note: If you use older Ubuntu versions than 12.04, the command is empty-trash!

  • 3
    I don't like stuffing my startup and I rarely restart, so I ended up with a cronjob: 0 * * * * /usr/bin/trash-empty 30 – Thomas Jensen Mar 7 '14 at 21:20
  • I used @daily trash-empty 30 – jkoop Dec 11 '20 at 22:36

If you're on GNOME, there's now a feature for that! Go to Privacy in your settings and look under Purge Trash & Temporary Files.

Purge trash

More at https://help.gnome.org/users/gnome-help/stable/privacy-purge.html.en.

  • This should be the accepted answer now. – nilfalse Nov 16 '20 at 21:00
  • While I agree that it's more optimal in my personal case, not everyone uses GNOME. So the accepted answer is still relevant, I suppose. – Pieter Nov 18 '20 at 7:21
  • I guess you are right. Although, the question is about Ubuntu and it uses Gnome by default. – nilfalse Nov 18 '20 at 11:10

Try with Autotrash!

Autotrash is a simple Python script comes with Ubuntu 10.10 Maverick Meerkat which will purge files from your trash when they become older than a given days,purge older files to ensure a specific amount of disk space is free,etc.It uses the FreeDesktop.org Trash Info files included in the new GNOME system to find the correct files and the dates they where deleted.


  • Remove files that are older then a given number of days (autotrash -d N,where N is the number of days)
  • Purge older files to ensure a specific amount of disk space is free (autotrash --min-free=M,M is the amount of free space you want to ensure you have, in megabytes.)
  • Check for remaining disk space, and only delete if you are running out (autotrash --max-free=M,M is the amount of free space left, in megabytes.)
  • Delete regex matching files first (see –delete-frist option)

For more info,execute this in terminal:

autotrash --help

AutoTrash is already in Ubuntu 10.10′s repository,it can be installed from Ubuntu Software Center.For Ubuntu 10.04 and 9.10 user,install this from PPA:

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install autotrash

Info: http://www.logfish.net/pr/autotrash/

Source: http://ubuntuguide.net/automatically-delete-files-older-than-n-days-from-trash-using-autotrash/

For a different approach and a more comprehensive guide: http://helpdeskgeek.com/linux-tips/automatically-empty-the-trash-in-ubuntu/

  • Thank you. I ended up using the config "autotrash –max-free 1024 -d 30" and placing it in crontab to be run daily. – Thomas Jensen Jun 2 '12 at 9:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.