web-dev-qa-db-fra.com

Comment déplacer ma corbeille dans / tmp ou vider automatiquement la corbeille au redémarrage?

J'utilise rarement la corbeille. (J'utilise Shift+Delete) Mais récemment, j'ai constaté que je supprimais souvent certains fichiers importants par erreur. Je veux donc utiliser la corbeille maintenant.

Mais comme nous le savons tous, mon espace disque limité sera rempli de fichiers dans la corbeille si je ne vide pas la corbeille par moi-même.

J'ai donc une idée. Je souhaite déplacer ma corbeille dans /tmp, pour ne pas avoir à l'effacer moi-même.

J'ai écrit du code dans ~/.bash_profile comme ça:

mkdir /tmp/my-trash

J'ai créé un lien symbolique pointant vers /tmp/my-trash. J'ai supprimé le répertoire ~/.local/share/Trash/files, et déplacé mon lien de symbole dans ~/.local/share/Trash, et l'a renommé en files.

Mais ça ne marche pas! J'ai mis des fichiers dans /tmp/my-trash, cliquez sur l'icône Corbeille dans le coin inférieur droit. Mais il n'y a rien. J'ai choisi un fichier et j'ai appuyé sur Delete, mais il a dit qu'il ne pouvait pas déplacer le fichier dans la corbeille et m'a demandé de supprimer définitivement le fichier.

5
Kaoet

Pourquoi n'utilisez-vous pas une autre approche:

Crontab combiné avec un client de ligne de commande pour la corbeille

  • Installer trash-cliInstall trash-cli /Sudo apt-get install trash-cli, qui vous permettra de contrôler votre dossier poubelle à partir de Shell.
  • Ouvrez votre crontab avec crontab -e dans Shell (ouvrira votre éditeur Shell par défaut choisi par select-editor)
  • Ajouter une entrée comme

    # In your crontab
    @reboot    empty-trash > /dev/null
    

Désormais, à chaque redémarrage, votre corbeille sera vidée. Vous pouvez spécifier d'autres heures pour vider la corbeille. Regardez juste un tutoriel crontab pour savoir comment.


Bien sûr, vous pouvez également utiliser votre approche de lien par le haut. Le problème avec votre approche est que vous avez copié le lien. Cela a probablement rompu le lien. Votre dossier nouvellement créé /tmp/my-trash/ n'avait pas la structure de répertoire appropriée d'un dossier de corbeille spécifié par la norme de bureau libre. Cela peut être résolu de la manière suivante: (VIDER d'abord la corbeille manuellement)

mv -r ~/.local/share/Trash/ ~/.trashcopy
cp -r ~/.trashcopy /tmp/.trashcopy
ln -s /tmp/.trashcopy ~/.local/share/Trash

Pour rendre ce changement persistant, vous devez inclure la ligne suivante dans la crontab de votre utilisateur avec crontab -e ou simplement la partie sans @reboot dans ton ~/.bashrc.

@reboot  rm -r ~/,local/share/Trash; cp -r ~/.trashcopy /tmp/.trashcopy; ln -s /tmp/.trashcopy ~/.local/share/Trash
8
con-f-use