Ubuntu 13.04 与预装的 Win 8 一起双启动。
我只能在主目录中删除文件到垃圾箱,即使是属于我的文件(通常在 /var/www 内)。在 nautilus 中选择文件并点击删除没有任何效果。右键单击并选择删除会询问我是否要永久删除。以下是我所知道的:
- 这些是我拥有的文件。/var 由 root 拥有,但 www(及其中的所有文件)归我拥有。
- 我在 /home/(name)/.local/share/Trash 有一个垃圾文件夹;对于我想要从主目录中删除的文件来说,它似乎工作得很好。
- 这台机器是一台 Win 8 机器,它让我在运行 Ubuntu 时遇到了很多麻烦;我不确定这是否是个问题。当我创建分区时,我单独创建了一个主分区,所以我认为这可能是我的问题。
这是我的文件系统。
这篇博文看起来就像我遇到的确切问题,但我对 fstab 没有足够的经验来解决这个问题。我尝试将我的 UID 添加到 /:
UUID=bb3ada65-be09-4b18-b091-9b3c95534cfd / ext4 errors=remount-ro,uid=1000 0 1
但是当我重新启动时,fstab 无法加载,而且我在让系统重新加载时遇到了一些麻烦 —— 我真的不想尝试这个,因为尝试一些东西需要花费太多时间。
编辑:在阅读了 fstab 的手册之后,看起来 UID 是 fat 的一个选项;/
是 ext3 所以我猜这不是问题。
编辑2:
我的权限似乎很好:
cd /var/www
touch test\ doc.txt
ls -la
...
-rw-rw-r-- 1 tom developers 0 Jun 12 16:55 test doc.txt
...
rm test\ doc.txt
请注意,我不需要 sudo 来从 cli 创建或删除文件,也不需要以 root 身份在 nautilus 中删除文件 - 我只是由于某种原因无法将其删除到垃圾箱。
答案1
当 nautilus 删除某些内容时,它不希望将其移动到不同的分区。这是因为在分区之间移动会花费很长时间,而且如果您删除分区,那么垃圾就没有地方可以恢复。
与您的主目录位于同一分区的任何地方都将发送到~/.local/share/Trash
。这在只有一个分区的设置中适用于整个根分区。
在任何其他分区上,nautilus 都会.Trash-1000
在分区的根目录下创建一个文件夹,然后将所有已删除的文件发送到该文件夹中。这在您拥有完全读/写访问权限的外部驱动器上非常有效,但如果您没有驱动器根目录的写入权限,则无法正常工作。
由于您的/
分区与您的分区不同/home
,并且.Trash-1000
系统根目录中不存在具有写入权限的目录,因此 nautilus 将无法删除文件。因此删除键将不起作用,菜单中将无法使用删除操作。
您可以尝试使用 root nautilus 并删除一个文件,以便/.Trash-1000
正确创建文件夹,然后使用sudo chmod -R 777 /.Trash-1000
它授予自己访问/
文件系统上的垃圾的权限。我无法确认这是否可行,但您可以尝试一下。
答案2
也许您可以尝试了解使用 Nemo 而不是 Natilus 时会发生什么。Nemo 是 Cinnamon 桌面的默认浏览器。除其他功能外,它还具有“直接”删除文件的功能,绕过垃圾箱。只需右键单击要删除的文件或文件夹,然后选择“删除”(而不是“移至垃圾箱”)。
我认为大多数用户都是通过将其作为 Cinnamon 的一部分进行安装来获得它的。但是,您可以使用以下方法轻松单独安装 Nemo:
sudo apt-get install nemo
然后,在终端中输入 nemo 即可打开 nemo。您也可以输入
nemo '/directory/subdirectory/subdirectory2/'
将 Nemo 启动到您希望的任何目录中。
如果这一切对您来说太复杂,您可能需要考虑从终端中删除。只需使用“rm(文件)”删除文件,或使用“rmdir(目录)”删除目录。或者,可能有某种方法可以将此选项添加到 Natilus,但我目前不知道如何实现这一点。