如何用Automator创建应用或脚本恢复Google Chrome自定义图标?
解决Mac上Chrome自定义图标随机消失的自动化方案
一、Automator一键恢复操作
通过Automator创建快速操作,一键完成「退出Chrome→替换图标→刷新Dock」的流程:
- 启动Automator,新建「快速操作」
- 从左侧动作库拖入「退出应用」,在应用列表选择Google Chrome
- 再拖入「运行Shell脚本」,替换默认内容为以下命令(把
/path/to/your/custom/icon.icns换成你的自定义图标绝对路径):
# 覆盖Chrome默认图标 cp "/path/to/your/custom/icon.icns" "/Applications/Google Chrome.app/Contents/Resources/app.icns" # 重启Dock刷新图标显示 killall Dock
- 保存操作(比如命名为「恢复Chrome图标」),之后可通过右键菜单或菜单栏快速调用
二、定时自动恢复脚本(基于launchd)
用launchd实现定时检测并修复图标,避免手动操作:
- 创建shell脚本
restore_chrome_icon.sh,内容如下(替换图标路径):
#!/bin/bash CUSTOM_ICON="/Users/你的用户名/Documents/CustomIcons/Chrome.icns" CHROME_ICON="/Applications/Google Chrome.app/Contents/Resources/app.icns" # 对比图标哈希值,不一致则执行替换 if [ "$(md5 -q "$CUSTOM_ICON")" != "$(md5 -q "$CHROME_ICON")" ]; then # 退出Chrome osascript -e 'quit app "Google Chrome"' sleep 2 cp "$CUSTOM_ICON" "$CHROME_ICON" killall Dock fi
- 给脚本添加执行权限:
chmod +x /path/to/restore_chrome_icon.sh
- 创建launchd配置文件
com.user.restorechromeicon.plist,放在~/Library/LaunchAgents/目录:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.user.restorechromeicon</string> <key>ProgramArguments</key> <array> <string>/path/to/restore_chrome_icon.sh</string> </array> <key>StartInterval</key> <integer>3600</integer> <!-- 每1小时执行一次,可修改为需要的秒数 --> <key>RunAtLoad</key> <true/> <!-- 开机自动执行一次 --> <key>StandardErrorPath</key> <string>~/Library/Logs/restore_chrome_icon_error.log</string> <key>StandardOutPath</key> <string>~/Library/Logs/restore_chrome_icon.log</string> </dict> </plist>
- 加载配置使定时任务生效:
launchctl load ~/Library/LaunchAgents/com.user.restorechromeicon.plist
注意事项
- 所有路径必须使用绝对路径,避免找不到文件
- Chrome更新时会覆盖默认图标,定时脚本会自动检测并修复
- 第一次执行脚本或Automator操作时,可能需要在「系统设置→隐私与安全性」中授权权限
内容的提问来源于stack exchange,提问作者isohexane
相关产品推荐
相关产品推荐

