统信uos支持四种自动清空回收站方式:一是启用系统内置自动清空功能,执行gsettings命令并重启文件管理器;二是配置系统级或用户级crontab定时任务;三是创建开机自启脚本实现登录即清空;四是使用uos-cleaner.sh脚本批量管理。

您希望统信UOS在不手动干预的情况下,定期或按条件自动清空回收站,避免因遗忘清理导致磁盘空间持续被残留文件占用,尤其适用于长期开机、频繁删除文件的办公或开发环境。
启用系统内置自动清空功能
统信UOS桌面环境(DDE)底层支持自动清空回收站,但默认未开启。该功能由系统原生服务驱动,无需额外安装工具,执行稳定且不依赖图形界面是否活跃。
第一步:按 Ctrl + Alt + T 打开终端。
第二步:执行命令启用自动清空:gsettings set org.mate.desktop.interface recycle-bin-automatically true。
第三步:若提示“权限拒绝”,说明当前用户无权修改全局桌面策略,需先切换至管理员模式:sudo -i,再重复第二步命令。
第四步:重启文件管理器使配置立即生效:killall dde-file-manager。系统会在数秒内自动拉起新进程,无需手动操作。
第五步:验证是否成功启用:gsettings get org.mate.desktop.interface recycle-bin-automatically,返回 true 即表示已激活。
配置定时任务每日自动清空
此方法适合对触发时间有明确要求的场景,例如每天凌晨2点系统空闲时执行,且不依赖用户是否登录图形会话,即使远程SSH登录也能运行。
方法一:使用系统级crontab
1、在终端中输入:sudo crontab -e(注意是 sudo crontab,不是普通用户的 crontab -e)。
2、在打开的编辑器末尾新增一行(以每日2:00执行为例):0 2 * * * /usr/bin/deepin-trash-cli --empty。
3、保存退出(vim中按 Esc → 输入 :wq → 回车)。
4、手动测试命令有效性:/usr/bin/deepin-trash-cli --empty,观察回收站图标是否立刻变为空状态——这一步必须成功,否则定时任务不会真正生效。
方法二:使用用户级crontab(推荐用于仅需在登录后生效的场景)
1、执行:crontab -e(不加sudo)。
2、添加行:@reboot sleep 30 && /usr/bin/deepin-trash-cli --empty——这会在每次用户登录图形界面后等待30秒再执行,避开桌面服务启动竞争。
创建开机自启脚本实现登录即清空
该方式确保每次完成用户登录后,回收站立即被清空一次,特别适合多用户共享设备、或习惯将回收站作为临时暂存区再统一处理的用户。
1、确保自启目录存在:mkdir -p ~/.config/autostart。
2、新建桌面启动项:nano ~/.config/autostart/clear-recycle-bin.desktop。
3、填入以下内容(注意大小写与空格不可省略):
[Desktop Entry]
Type=Application
Name=Clear Recycle Bin
Exec=/usr/bin/deepin-trash-cli --empty
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
4、保存退出(Ctrl+O → 回车 → Ctrl+X)。
【关键提醒】该脚本仅在用户图形会话启动时运行,若系统以tty终端模式启动或未启用桌面环境,则不会触发。
使用uos-cleaner.sh脚本批量管理回收站
统信官方提供的 uos-cleaner.sh 脚本不仅支持系统垃圾清理,也内置回收站自动清空开关,适合希望统一入口管理多项维护任务的用户。
1、确认脚本是否存在:ls /usr/bin/uos-cleaner.sh。若提示“No such file”,则需先安装:sudo apt install uos-system-cleaner。
2、赋予执行权限:sudo chmod +x /usr/bin/uos-cleaner.sh。
3、运行预览模式查看回收站状态:sudo /usr/bin/uos-cleaner.sh --dry-run,输出中会显示“Recycle bin: X files (Y MB)”。
4、直接强制清空回收站:sudo /usr/bin/uos-cleaner.sh --clean-recycle-bin。
5、如需设为每日自动执行,可将其加入systemd定时器或cron,例如在 sudo crontab -e 中添加:0 3 * * * /usr/bin/uos-cleaner.sh --clean-recycle-bin > /dev/null 2>&1。











