Perché lo svuotamento del cestino in nautilus richiede così tanto tempo?


15

Ai fini di questa domanda, "directory di grandi dimensioni" significa ad esempio un repository git del kernel Linux o l'origine Chromium.

Se ho rm -rfuna directory di grandi dimensioni come questa dalla shell, viene eliminata in un paio di secondi al massimo.

Se lo sposto per primo nel cestino e poi svuoto il cestino, la prima operazione richiede meno di un secondo, quindi l'eliminazione effettiva richiede alcuni minuti (stiamo parlando di cifre doppie).

Perché lo svuotamento della spazzatura è così lento? Cosa sta facendo quando dice "preparazione". Quanta preparazione ci vuole davvero per correre rm -rf ~/.local/share/Trash/?

Lo sto guardando da oltre 20 minuti.


Se hai del tempo libero puoi dare un'occhiata a libnautilus-private/nautilus-file-operations.csource ( apt-get source nautilus). Non ho la diligenza e la pazienza per leggere C. Interessante domanda però. +1
phipsalabim

3
rm -rf ~/.local/share/Trashpotrebbe essere più veloce. Vedi askubuntu.com/a/468722/2273
Adam Monsen,

Risposte:


5

Quando si verifica la prima operazione, sposta i file nel cestino.

Quando "cestinate" quei file, carica l'intero file dell'albero in memoria e quindi elimina ogni file uno per uno. Ciò consente ai calcoli di temporizzazione di sapere quanto tempo ci vuole per eliminare il file, quanti file devono essere eliminati, quanto sono grandi quei file, anche se la maggior parte dei parametri non vengono utilizzati qui e consente di premere quella piccola croce rossa per interrompere il processo.

Ecco perché elimino sempre dalla shell


quando accedo alla spazzatura di nautilus, si blocca a lungo nautilus che non posso premere nulla; Mi chiedo se potrebbe esserci un modo per disabilitarlo o popup se voglio davvero vederlo su nautilus perché lo uso per molte altre cose e poi, all'improvviso, devo aspettare 3 minuti per poter usare di nuovo nautilus se non voglio riavviarlo :(
Aquarius Power
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.