Warum dauert das Leeren der Mülltonne im Nautilus so lange?

15

Im Sinne dieser Frage bedeutet "großes Verzeichnis" beispielsweise ein Linux-Kernel-Git-Repository oder die Chromium-Quelle.

Wenn ich so rm -rfein großes Verzeichnis aus der Shell lösche, ist es in nur wenigen Sekunden spätestens gelöscht.

Wenn ich es zuerst in den Papierkorb verschiebe und dann den Papierkorb entleere, dauert der erste Vorgang weniger als eine Sekunde, und das eigentliche Löschen dauert mehrere Minuten (es handelt sich um zweistellige Zahlen).

Warum wird der Müll so langsam geleert? Was macht es, wenn es "vorbereiten" heißt? Wie viel Vorbereitung braucht es eigentlich, um zu laufen rm -rf ~/.local/share/Trash/?

Ich habe das jetzt über 20 Minuten lang angeschaut.

Alistair Buxton
quelle
Wenn Sie etwas Freizeit haben, können Sie einen Blick libnautilus-private/nautilus-file-operations.cin die Quelle werfen ( apt-get source nautilus). Ich habe nicht den Fleiß und die Geduld, C. zu lesen. Interessante Frage. +1
phipsalabim
3
rm -rf ~/.local/share/Trashkönnte schneller sein. Siehe askubuntu.com/a/468722/2273
Adam Monsen,

Antworten:

5

Bei der ersten Operation werden die Dateien einfach in den Papierkorb verschoben.

Wenn Sie diese Dateien "in den Papierkorb werfen", wird die gesamte Baumdatei in den Speicher geladen und anschließend jede Datei einzeln gelöscht. Auf diese Weise können Zeitberechnungen ermitteln, wie lange das Löschen der Datei dauert, wie viele Dateien gelöscht werden sollen und wie groß diese Dateien sind, obwohl die meisten Parameter hier nicht verwendet werden Stoppen Sie den Prozess.

Deshalb lösche ich immer aus der Shell

Meer Borg
quelle
Wenn ich auf den Nautilus-Papierkorb zugreife, friert der Nautilus für eine lange Zeit ein, in der ich nichts drücken kann. Ich frage mich, ob es eine Möglichkeit gibt, es zu deaktivieren oder ein Popup-Fenster zu öffnen, wenn ich es wirklich auf nautilus sehen möchte, weil ich es für viele andere Dinge verwende, und dann muss ich plötzlich 3 Minuten warten, um nautilus wieder verwenden zu können, wenn ich Ich möchte es nicht neu starten :(
Aquarius Power