Dlaczego opróżnianie kosza na śmieci w nautilusie trwa tak długo?

15

Na potrzeby tego pytania „duży katalog” oznacza na przykład repozytorium git jądra systemu Linux lub źródło Chromium.

Jeśli mam rm -rftaki duży katalog z powłoki, zostanie on usunięty w ciągu zaledwie kilku sekund.

Jeśli najpierw przeniosę go do kosza, a następnie opróżnię kosz, pierwsza operacja zajmie mniej niż sekundę, a następnie faktyczne usunięcie zajmie kilka minut (mówimy o podwójnych liczbach).

Dlaczego opróżnianie kosza jest tak wolne? Co robi, gdy mówi „przygotowuje się”. Ile przygotowań zajmuje uruchomienie rm -rf ~/.local/share/Trash/?

Patrzę na to od ponad 20 minut.

Alistair Buxton
źródło
Jeśli masz trochę wolnego czasu, możesz zajrzeć libnautilus-private/nautilus-file-operations.cdo źródła ( apt-get source nautilus). Nie mam jednak pilności i cierpliwości do czytania C. Interesujące pytanie. +1
phipsalabim
3
rm -rf ~/.local/share/Trashmoże być szybszy. Zobacz askubuntu.com/a/468722/2273
Adam Monsen,

Odpowiedzi:

5

Kiedy pojawia się pierwsza operacja, po prostu przenosi pliki do kosza.

Kiedy „kosz” tych plików, ładuje cały plik drzewa do pamięci, a następnie usuwa każdy plik jeden po drugim. Dzięki temu obliczenia czasowe określają, ile czasu zajmuje usunięcie pliku, ile plików ma zostać usuniętych, jak duże są te pliki, chociaż większość parametrów nie jest tutaj używanych, i pozwala nacisnąć ten mały czerwony krzyżyk, aby zatrzymać proces.

Dlatego zawsze usuwam z powłoki

Meer Borg
źródło
kiedy wchodzę do kosza nautilus, zamraża nautilusa przez długi czas, że nie mogę niczego naciskać; Zastanawiam się, czy może istnieć jakiś sposób, aby wyłączyć lub wyskakować, jeśli naprawdę chcę zobaczyć to nautilus, ponieważ używam go do wielu innych rzeczy, a potem nagle muszę czekać około 3 minut, aby móc ponownie użyć nautilusa, jeśli nie chcę go ponownie uruchamiać :(
Aquarius Power