防止Nautilus / Nemo在已安装的设备中创建.Trash-1000文件夹


15

Nautilus和Nemo都创建.Trash-1000在任何已安装设备中调用的隐藏文件夹,显然是为了管理其“废纸folder”文件夹。这在其他用户安装的网络驱动器中可能会造成混乱,这些驱动器可能正在使用其他不能将该文件夹识别为垃圾桶的操作系统或程序。

此外,此文件夹会随着已删除文件的数量而扩展,无法从Ubuntu删除:

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

要释放此类已装载卷中的空间,.Trash-1000必须从其他系统中删除该文件夹。

有什么方法可以防止Nemo或Nautilus在网络驱动器中创建此文件夹?我自然可以不使用它们,但是它们在许多情况下都很方便。


1
@LuísdeSousa现在,我提供了有关当前状态的答案,即目前尚无法提供此功能。但是,请您在下个星期左右保持耐心,我可能会提供更好的解决方案。好 ?
Sergiy Kolodyazhnyy

解决方法是,您可以.Trash-1000自己创建一个空文件夹,并使用chmod 000 .Trash-1000和/或sudo chattr +i .Trash-1000防止Nautilus填充它。(我实际上没有尝试过,但是如果遇到这个问题,我会尝试。)
pts

pts这类似于拇指驱动器上的传统解决方法-创建一个名为.Trash-1000的空文件(而不是文件夹),这会使gnome足以阻止它。
唐明亮

@pts这会让其他用户对此感到困惑。此外,在Samba驱动器中,Linux权限没有任何意义。
路易斯·德·索萨

@LuísdeSousa:对于Samba共享,请在Samba服务器(samba.org)上执行chmod或chattr 。我理解每种解决方案和解决方法都有其折衷。但是,最好是了解解决方法及其权衡,而不是不知道。因此,我将其发布为评论。
pts

Answers:


15

在查看了Nautilus的源代码Michael Stumpfl的回答后, 很明显垃圾箱文件夹的创建是Nautilus的源代码本身的硬编​​码,并且是libgio工作原理的一部分-Gtk / GNOME应用程序中文件操作背后的库。因此,在不重新编译文件管理器本身或更改库的源代码的情况下,目前无法禁用这种行为(我不建议这样做,因为其他应用程序依赖它,因此更改可能会影响其他应用程序的行为)。

最好的解决方案可能是向Nautilus开发人员提出功能请求,并等待其解决。还可以通过Shift+ Delete快捷方式或使用命令行实用程序(例如mv(移至文件/系统上用户的回收站文件夹)或)永久删除文件rm。否则-暂时切换到使用其他文件管理器。


1
如果这是硬编码的,libgio那么使用备用文件管理器会有所不同吗?
路易斯·德·索萨

4
@LuísdeSousa并非每个文件管理器都依赖libgio。例如,海豚没有。命令行文件管理器,例如midnight-commander没有。通常,那些不依赖Gtk工具箱的应用程序不会与接触libgio。当然,可能会有例外。
Sergiy Kolodyazhnyy

0

这不会阻止创建.Trash文件夹,但这是处理您所陈述的问题的简单方法。

这似乎过于简单,但仅使用globbing。如:rm -rf .Trash-1000/*

shell将扩展模式(*),并且rm将下降并删除名称与该模式匹配的所有文件和目录。它不会尝试删除.Trash-1000文件夹,但会删除'./.Trash-1000/files'。当然,普通权限适用。

`

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.