Empêcher Nautilus / Nemo de créer un dossier .Trash-1000 dans les appareils montés

15

Nautilus et Nemo créent des dossiers cachés appelés .Trash-1000dans n'importe quel appareil monté, apparemment pour gérer leur dossier Corbeille. Cela peut être source de confusion dans les lecteurs réseau montés par d'autres utilisateurs, qui peuvent utiliser d'autres systèmes d'exploitation ou programmes qui ne reconnaissent pas ce dossier comme une corbeille.

De plus, ce dossier se développe avec le nombre de fichiers supprimés et ne peut pas être effacé d'Ubuntu:

$ sudo rm -rf ./.Trash-1000
rm: cannot remove './.Trash-1000/files': Directory not empty

Pour libérer de l'espace dans ces volumes montés, le .Trash-1000dossier doit être supprimé d'un autre système.

Existe-t-il un moyen d'empêcher Nemo ou Nautilus de créer ce dossier dans les lecteurs réseau? Je ne peux naturellement pas les utiliser, mais ils sont pratiques dans de nombreuses situations.

Luís de Sousa
la source
1
@ LuísdeSousa Maintenant, j'ai fourni une réponse quant à la situation actuelle, c'est-à-dire qu'il n'est actuellement pas possible d'avoir une telle fonctionnalité. Cependant, je vous demanderais de rester patient pendant la semaine prochaine, et je pourrais revenir avec une meilleure solution. D'ACCORD ?
Sergiy Kolodyazhnyy
Pour contourner ce problème, vous pouvez créer .Trash-1000vous-même un dossier vide et utiliser chmod 000 .Trash-1000et / ou sudo chattr +i .Trash-1000pour empêcher Nautilus de le remplir. (Je n'ai pas vraiment essayé cela, mais je le ferais si j'avais ce problème.)
pts
pts ceci est similaire à la solution de contournement traditionnelle sur les clés USB - créez un fichier vide (pas un dossier) appelé .Trash-1000 cela gêne assez gnome pour l'arrêter.
don bright
@pts Cela gardera les autres utilisateurs confus à ce sujet. De plus, dans les lecteurs Samba, les autorisations Linux n'ont aucun sens.
Luís de Sousa
@ LuísdeSousa: Pour les partages Samba, faites le chmod ou chattr sur le serveur Samba ( samba.org ). Je comprends que chaque solution et solution de contournement a ses compromis. Néanmoins, il est préférable de connaître une solution de contournement et son compromis que de ne pas le savoir. C'est pourquoi je l'ai posté en tant que commentaire.
pts

Réponses:

15

Après avoir regardé le code source de Nautilus et la réponse de Michael Stumpfl, il devient clair que la création de dossiers de corbeille est quelque chose de codé en dur dans le code source de Nautilus lui-même et fait partie de la façon dont cela libgiofonctionne - la bibliothèque derrière les manipulations de fichiers dans les applications Gtk / GNOME. Par conséquent, la désactivation d'un tel comportement n'est actuellement pas possible sans recompilation du gestionnaire de fichiers lui-même ou modification du code source de la bibliothèque (ce que je ne recommanderais pas de faire, car d'autres applications en dépendent, les modifications peuvent donc affecter le comportement d'autres applications).

La meilleure solution est probablement de proposer une demande de fonctionnalité aux développeurs Nautilus et d'attendre qu'elle soit corrigée. On pourrait également recourir à la suppression définitive des fichiers via Shift+ Deleteraccourci ou en utilisant des utilitaires de ligne de commande tels que mv(déplacer vers le dossier de la corbeille de l'utilisateur sur le /système de fichiers) ou rm. Sinon - passez à l'utilisation d'un gestionnaire de fichiers différent pour le moment.

Sergiy Kolodyazhnyy
la source
1
Si cela est codé en dur libgio, cela ferait-il une différence d'utiliser un autre gestionnaire de fichiers?
Luís de Sousa
4
@ LuísdeSousa Tous les gestionnaires de fichiers ne comptent pas libgio. Dolphin par exemple ne le fait pas. Gestionnaire de fichiers en ligne de commande tel que le midnight-commanderfait pas. En général, les applications qui ne dépendent pas de la boîte à outils Gtk n'entrent pas en contact avec libgio. Bien sûr, il pourrait y avoir des exceptions.
Sergiy Kolodyazhnyy
0

Cela n'empêche pas la création du dossier .Trash mais c'est un moyen simple de traiter votre problème déclaré.

Cela peut sembler trop simple, mais utilisez simplement la globalisation. Un péché:rm -rf .Trash-1000/*

le modèle (*) est développé par le shell et rm descendra et supprimera tous les fichiers et répertoires dont le nom correspond à ce modèle. Il n'essaiera pas de supprimer le dossier .Trash-1000 mais supprimera './.Trash-1000/files'. Bien sûr, les autorisations normales s'appliquent.

"

Elder Geek
la source