我编写了一个小脚本,用于在关闭 Chrome 后自动删除缓存:
#!/bin/bash
while true; do
if [[ $(pgrep -l chrome) ]]; then
sleep 20
else
rm -rf ~/.cache/google-chrome/Default/Cache/*
rm -rf ~/.cache/google-chrome/Default/"Media Cache"/*
notify-send "CCD" "Cache deleted!"
break
fi
done
现在我不想每次都手动运行这个脚本,我希望它在启动 Chrome 时自动在后台运行。我尝试使用 Ubuntu Tweak 编辑 Chrome 快捷列表:
但正如我所料,它没有起作用。那么,还有其他方法吗?
答案1
只需将脚本的完整路径添加到其中,Startup Applications
即可使其在登录时自动启动。打开 Unity Dash 并将其添加为新命令。当然,请确保您的脚本具有可执行权限chmod +x /path/to/script.sh
为了解决 chrome 在启动时删除缓存的问题(正如评论中提到的,这是不可取的),使用 while 循环轮询来等待 chrome 出现。
while true; do
# Wait for chrome window to appear
while ! pgrep -l 'chrome' ; do : ; sleep 20; done
# Now wait for it to disappear
while pgrep -l 'chrome' ; do : ; sleep 20; done
# Once chrome window disappears, delete cache.
rm -rf ~/.cache/google-chrome/Default/Cache/*
rm -rf ~/.cache/google-chrome/Default/"Media Cache"/*
notify-send "CCD" "Cache deleted!"
# And at this point we restart the whole process again.
done