如何将我的垃圾箱移动到 /tmp 或在重新启动时自动清空垃圾箱?

Kao*_*oet 5 tmp trash

我很少使用垃圾箱。(我用Shift+ Delete) 但是最近发现我经常误删一些重要的文件。所以我现在想使用垃圾箱。

但是众所周知,如果我不自行清除垃圾箱,我有限的磁盘空间将被垃圾箱中的文件填满。

所以我有一个想法。我想将垃圾箱移到 中/tmp,这样我就不必自己清理了。

我写了一些代码~/.bash_profile是这样的:

mkdir /tmp/my-trash
Run Code Online (Sandbox Code Playgroud)

我做了一个指向/tmp/my-trash. 我删除了目录~/.local/share/Trash/files,并将我的符号链接移动~/.local/share/Trashfiles.

但它不起作用!我将一些文件放入/tmp/my-trash,单击右下角的垃圾箱图标。但是什么都没有。我选择了一个文件并按了Delete,但它说它无法将文件移入垃圾箱并要求我永久删除该文件。

con*_*use 8

为什么不使用另一种方法:

Crontab 结合命令行客户端进行垃圾处理

  • 安装垃圾cli 安装垃圾cli/ sudo apt-get install trash-cli,这将允许您从 shell 控制垃圾文件夹。
  • 使用crontab -ein shell打开您的 crontab (将打开您选择的默认 shell 编辑器select-editor
  • 添加一个条目,如

    # In your crontab
    @reboot    empty-trash > /dev/null
    
    Run Code Online (Sandbox Code Playgroud)

现在,每次重新启动时,您的垃圾箱都会清空。您可以指定其他时间清空垃圾箱。只需查看crontab 教程即可了解如何操作。


当然,您也可以使用上面的链接方法。您的方法的问题在于您复制了链接。很可能打破了链接。此外,您新创建的文件夹/tmp/my-trash/没有自由桌面标准指定的垃圾文件夹的正确目录结构。这可以通过以下方式补救:(首先手动清空垃圾箱)

mv -r ~/.local/share/Trash/ ~/.trashcopy
cp -r ~/.trashcopy /tmp/.trashcopy
ln -s /tmp/.trashcopy ~/.local/share/Trash
Run Code Online (Sandbox Code Playgroud)

为了使这一变化执着,你必须包括在用户的crontab以下符合crontab -e或只是部分,而不@reboot在你~/.bashrc

@reboot  rm -r ~/,local/share/Trash; cp -r ~/.trashcopy /tmp/.trashcopy; ln -s /tmp/.trashcopy ~/.local/share/Trash
Run Code Online (Sandbox Code Playgroud)