麒麟OS关机前自动清理需配置systemd服务注入钩子:创建shutdown-tmp-clear.sh脚本清空/tmp与/var/tmp,新建shutdown-tmp-clear.service服务绑定shutdown.target,并启用;剪贴板清空仅支持Clipman或CopyQ等第三方工具的退出触发机制。

麒麟OS需在关机流程中嵌入清理动作才能实现关机时自动清空临时目录与剪贴板,系统原生不提供图形化开关,必须通过systemd服务或脚本钩子注入执行逻辑,否则关机瞬间所有进程终止,无法触发常规定时任务。
配置systemd关机服务自动清空/tmp和/var/tmp
该方式在shutdown.target触发前执行,确保文件系统仍可写入、所有用户服务已停止,是唯一安全可靠的关机前清理路径。
第一步:创建清理脚本
执行 sudo nano /usr/local/bin/shutdown-tmp-clear.sh,写入以下内容:
#!/bin/bash
find /tmp -type f -delete 2>/dev/null
find /var/tmp -type f -delete 2>/dev/null
rm -f /tmp/.X11-unix/* /tmp/.ICE-unix/*
第二步:赋予执行权限sudo chmod +x /usr/local/bin/shutdown-tmp-clear.sh
第三步:新建systemd服务单元
执行 sudo nano /etc/systemd/system/shutdown-tmp-clear.service,填入:
[Unit]
Description=Clear tmp and var/tmp before shutdown
DefaultDependencies=no
Before=shutdown.target reboot.target halt.target
[Service]
Type=oneshot
ExecStart=/usr/local/bin/shutdown-tmp-clear.sh
RemainAfterExit=yes
[Install]
WantedBy=halt.target reboot.target shutdown.target
第四步:启用并验证服务sudo systemctl daemon-reload && sudo systemctl enable shutdown-tmp-clear.service
【必须执行此命令,否则关机时服务不会被调用】
关机时自动清空剪贴板历史(仅限Clipman或CopyQ等第三方工具)
银河麒麟默认剪贴板管理器(如gnome-settings-daemon自带的clipboard)不保存历史,也不支持关机钩子;若你已安装Clipman或CopyQ,则可通过其自身设置实现关机清空。
方法一:Clipman配置自动清空
右键点击Clipman托盘图标 → Preferences → 勾选“Clear clipboard on exit” → 关闭窗口即生效。该选项会在Clipman进程退出时清空当前剪贴板内容,而关机时所有用户进程被终止,自然触发该行为。
方法二:CopyQ关机前执行脚本
打开CopyQ主界面 → Settings → Commands → 点击“+”添加新命令:
Trigger: On exit
Command: clear
勾选“Enabled”。此配置使CopyQ在自身退出时执行clear命令,清除其管理的所有剪贴板条目。
注意:系统原生剪贴板无历史记录功能,【不安装Clipman或CopyQ则不存在“关机清空剪贴板历史”这一需求】。
验证关机清理是否生效
在/tmp下手动创建测试文件:sudo touch /tmp/test_shutdown_cleanup。
重启系统后再次登录,执行:ls /tmp/test_shutdown_cleanup。
若返回“No such file or directory”,说明关机清理已成功执行。
对于剪贴板,可在关机前复制一段文字,开机后尝试粘贴——若无法粘贴,且确认使用的是Clipman或CopyQ,则清空机制已起效。











