Impedisci a Nautilus / Nemo di creare la cartella .Trash-1000 nei dispositivi montati


15

Sia Nautilus che Nemo creano cartelle nascoste chiamate .Trash-1000in qualsiasi dispositivo montato, apparentemente per gestire la loro cartella Cestino. Ciò può creare confusione nelle unità di rete montate da altri utenti, che potrebbero utilizzare altri sistemi operativi o programmi che non riconoscono questa cartella come cestino.

Inoltre, questa cartella si espande con il numero di file eliminati e non può essere cancellata da Ubuntu:

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

Per liberare spazio in tali volumi montati, la .Trash-1000cartella deve essere eliminata da un altro sistema.

Esiste un modo per impedire a Nemo o Nautilus di creare questa cartella nelle unità di rete? Naturalmente non posso semplicemente usarli, ma sono utili in molte situazioni.


1
@ LuísdeSousa Ora, ho fornito una risposta sull'attuale situazione, che attualmente non è possibile avere tale funzionalità. Tuttavia, ti chiederei di rimanere paziente per circa la prossima settimana e potrei tornare con una soluzione migliore. OK ?
Sergiy Kolodyazhnyy,

Per ovviare al problema, puoi creare .Trash-1000tu stesso una cartella vuota e utilizzare chmod 000 .Trash-1000e / o sudo chattr +i .Trash-1000per impedire a Nautilus di popolarla. (In realtà non l'ho provato, ma lo farei se avessi questo problema.)
pti

pts è simile alla soluzione alternativa tradizionale sulle chiavette USB: crea un file vuoto (non una cartella) chiamato .Trash-1000 questo confonde abbastanza gnome da fermarlo.
don luminoso

@pts Ciò manterrà gli altri utenti confusi al riguardo. Inoltre, nelle unità Samba le autorizzazioni Linux non hanno alcun significato.
Luís de Sousa il

@ LuísdeSousa: per le condivisioni Samba, esegui chmod o chattr sul server Samba ( samba.org ). Sottolineo che ogni soluzione e soluzione alternativa ha i suoi compromessi. Tuttavia, è meglio conoscere una soluzione alternativa e il suo compromesso piuttosto che non sapere. Quindi l'ho pubblicato come commento.
Punti

Risposte:


15

Dopo aver esaminato il codice sorgente di Nautilus e la risposta di Michael Stumpfl, diventa chiaro che la creazione della cartella cestino, è qualcosa di codificato nel codice sorgente di Nautilus stesso e fa parte di come libgiofunziona: la libreria dietro la manipolazione dei file nelle applicazioni Gtk / GNOME. Pertanto la disabilitazione di tale comportamento non è attualmente possibile senza ricompilare il file manager stesso o alterare il codice sorgente della libreria (cosa che non consiglierei di fare, poiché altre applicazioni si basano su di esso, quindi le modifiche possono influenzare il comportamento di altre applicazioni).

Probabilmente la soluzione migliore è proporre una richiesta di funzionalità agli sviluppatori Nautilus e attendere fino a quando non viene risolto. Si potrebbe anche ricorrere alla cancellazione permanente dei file tramite Shift+ Deletescorciatoia o utilizzando utility da riga di comando come mv(sposta nella cartella cestino dell'utente sul /filesystem) o rm. In caso contrario, passa al momento per utilizzare un file manager diverso.


1
Se questo è hard coded, libgiofarebbe la differenza usare un file manager alternativo?
Luís de Sousa,

4
@ LuísdeSousa Non tutti i file manager si affidano libgio. Dolphin per esempio no. File manager della riga di comando come midnight-commanderno. In generale, quelle applicazioni che non si basano su Gtk toolkit non entrano in contatto libgio. Certo, potrebbero esserci delle eccezioni.
Sergiy Kolodyazhnyy,

0

Ciò non impedisce la creazione della cartella .Trash, ma è un modo semplice di gestire il problema dichiarato.

Questo può sembrare eccessivamente semplice ma basta usare il globbing. Come in:rm -rf .Trash-1000/*

il modello (*) viene espanso dalla shell e rm scenderà e rimuoverà tutti i file e le directory il cui nome corrisponde a quel modello. Non tenterà di eliminare la cartella .Trash-1000 ma rimuoverà './.Trash-1000/files'. Naturalmente si applicano le normali autorizzazioni.

`

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.