可通过五种方法使mac应用启动后不显示dock图标:一、修改info.plist添加lsuielement键;二、取消dock中“保留在dock中”选项;三、用defaults命令写入bundle id的lsuielement设置;四、编写shell脚本绕过dock注册;五、禁用系统自动固定新应用。

如果您希望Mac系统中某个特定应用在启动后不显示图标于Dock栏,以实现界面极简与视觉净化效果,则可通过修改该应用的属性配置文件、调整系统级Dock行为或使用终端指令干预其注册机制来实现。以下是解决此问题的步骤:
一、通过Info.plist注入LSUIElement标识
该方法通过在应用程序包的配置文件中添加LSUIElement键并设为true,将应用标记为“无界面元素”模式,使其运行时不生成Dock图标、不显示菜单栏、也不出现在Command+Tab应用切换器中,适用于工具类或后台型应用。
1、打开“访达”,前往“应用程序”文件夹。
2、找到目标应用(例如:WeChat、Obsidian、Stats),右键点击选择“显示包内容”。
3、进入Contents子目录,定位到Info.plist文件。
4、双击用“文本编辑”打开该文件;若为二进制格式,需先在终端执行:plutil -convert xml1 Info.plist转换为可读文本。
5、在
6、保存文件,关闭编辑器。
7、完全退出该应用(包括菜单栏图标),重新启动,其Dock图标即不再出现。
8、执行签名修复(必需):sudo codesign -f -s - "/Applications/WeChat.app"(路径需替换为实际应用路径)。
二、取消“保留在Dock中”选项
此方法仅影响Dock图标的常驻状态,不改变应用行为逻辑,适用于已安装且正常运行的应用。它通过系统级设置移除图标在Dock中的固定位置,但应用启动时仍会短暂显示图标(除非配合其他方式)。
1、确保目标应用未运行,或已在Dock中显示图标。
2、在Dock中右键点击该应用图标。
3、在弹出菜单中,取消勾选“保留在Dock中”选项。
4、该图标立即从Dock移除;若应用正在运行,其下方指示点会消失,图标不再自动回归。
5、此后每次启动该应用,均不会自动将其图标添加至Dock。
三、使用终端命令禁用指定应用的Dock注册
某些应用(如Electron构建的WeChat、QQ、Visual Studio Code)会忽略Info.plist设置或强制注册Dock,此时可结合系统偏好写入策略,在启动前屏蔽其Dock可见性声明。
1、打开“终端”(位于“应用程序 > 实用工具”文件夹中)。
2、输入以下命令并回车(以WeChat为例):defaults write com.tencent.xinLSUIElement -bool true。
3、执行重启Dock指令:killall Dock。
4、若需对其他应用生效,将com.tencent.xin替换为对应Bundle Identifier(可用mdls -name kMDItemCFBundleIdentifier -r /Applications/WeChat.app查询)。
四、使用终端脚本启动并绕过Dock注册
该方法不修改应用本身,而是通过包装shell脚本启动时传递隐藏参数,使系统在进程创建阶段即跳过Dock注册流程,适用于拒绝响应常规设置的顽固应用。
1、打开“终端”。
2、输入以下命令创建启动脚本(以Obsidian为例):echo '#!/bin/sh\nexec "/Applications/Obsidian.app/Contents/MacOS/Obsidian" --no-sandbox --disable-gpu &' > ~/Desktop/start_obsidian.sh。
3、赋予执行权限:chmod +x ~/Desktop/start_obsidian.sh。
4、双击运行该脚本,或在终端中执行:~/Desktop/start_obsidian.sh。
5、该应用启动后不会在Dock中生成图标,且后台功能完全正常。
五、使用defaults命令全局禁用新应用自动固定
即使启用了“只显示打开的应用”,部分应用首次启动时仍会短暂固定于Dock。该行为由系统默认策略触发,需通过终端关闭自动保留在Dock的机制,确保临时图标在退出后彻底消失。
1、在终端中输入以下命令并回车:defaults write com.apple.dock keep-running-apps -bool FALSE。
2、随后执行重启Dock指令:killall Dock。
3、此后新启动的应用将不再被自动添加至Dock固定区,仅以临时图标形式出现于Dock左侧,并在退出后自动消失。











