Evite que Nautilus / Nemo cree la carpeta .Trash-1000 en dispositivos montados

15

Tanto Nautilus como Nemo crean carpetas ocultas llamadas .Trash-1000en cualquier dispositivo montado, aparentemente para administrar su carpeta Papelera. Esto es muy confuso en las unidades de red que montan otros usuarios, que pueden estar utilizando otros sistemas operativos o programas que no reconocen esta carpeta como una papelera.

Además, esta carpeta se expande con la cantidad de archivos eliminados y no se puede borrar de Ubuntu:

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

Para liberar espacio en tales volúmenes montados, la .Trash-1000carpeta debe eliminarse de un sistema diferente.

¿Hay alguna forma de evitar que Nemo o Nautilus creen esta carpeta en unidades de red? Naturalmente, simplemente no puedo usarlos, pero son útiles en muchas situaciones.

Luís de Sousa
fuente
1
@ LuísdeSousa Ahora, he proporcionado una respuesta sobre el estado actual de las cosas, es decir, actualmente no es posible tener esa función. Sin embargo, le pediría que siga siendo paciente durante la próxima semana más o menos, y podría regresar con una mejor solución. DE ACUERDO ?
Sergiy Kolodyazhnyy
Como solución alternativa, puede crear una .Trash-1000carpeta vacía usted mismo y usar chmod 000 .Trash-1000y / o sudo chattr +i .Trash-1000evitar que Nautilus la complete. (Realmente no he intentado esto, pero lo haría si tuviera este problema.)
pts
pts esto es similar a la solución tradicional en las unidades de memoria USB: cree un archivo vacío (no una carpeta) llamado .Trash-1000, esto confunde a gnome lo suficiente como para detenerlo.
Don brillante
@pts Esto mantendrá a otros usuarios confundidos al respecto. Además, en las unidades Samba, los permisos de Linux no tienen sentido.
Luís de Sousa
@ LuísdeSousa: Para los recursos compartidos de Samba, haga chmod o chattr en el servidor de Samba ( samba.org ). Entiendo que cada solución y solución tiene sus compensaciones. Sin embargo, es mejor saber acerca de una solución alternativa y su compensación que no saber. Por eso lo publiqué como un comentario.
pts

Respuestas:

15

Después de mirar el código fuente de Nautilus y la respuesta de Michael Stumpfl, queda claro que la creación de carpetas basura, es algo codificado en el código fuente de Nautilus y es parte de cómo libgiofunciona: la biblioteca detrás de las manipulaciones de archivos en aplicaciones Gtk / GNOME. Por lo tanto, deshabilitar este comportamiento no es posible actualmente sin volver a compilar el administrador de archivos o alterar el código fuente de la biblioteca (lo cual no recomendaría, ya que otras aplicaciones dependen de él, por lo que los cambios pueden afectar el comportamiento de otras aplicaciones).

Probablemente la mejor solución es proponer una solicitud de función a los desarrolladores de Nautilus y esperar hasta que se solucione. También se podría recurrir a la eliminación permanente de archivos mediante Shift+ Deleteatajo o utilizando utilidades de línea de comandos como mv(mover a la carpeta de basura del usuario en el /sistema de archivos) o rm. De lo contrario, cambie a usar un administrador de archivos diferente por el momento.

Sergiy Kolodyazhnyy
fuente
1
Si esto está codificado, ¿ libgiosería diferente usar un administrador de archivos alternativo?
Luís de Sousa
44
@ LuísdeSousa No todos los administradores de archivos dependen libgio. Dolphin, por ejemplo, no. Administrador de archivos de línea de comandos como midnight-commanderno lo hace. En general, las aplicaciones que no dependen del kit de herramientas Gtk no entran en contacto con libgio. Por supuesto, podría haber excepciones.
Sergiy Kolodyazhnyy
0

Esto no impide la creación de la carpeta .Trash, pero es una forma sencilla de tratar su problema declarado.

Esto puede parecer demasiado simple, pero solo usa globbing. Como en:rm -rf .Trash-1000/*

el patrón (*) se expande por el shell y rm descenderá y eliminará cualquier archivo y directorio cuyo nombre coincida con ese patrón. No intentará eliminar la carpeta .Trash-1000 pero eliminará './.Trash-1000/files'. Por supuesto, se aplican permisos normales.

``

Elder Geek
fuente