删除 Mac OS X 中 shell 可执行文件的停靠图标?

Posted

技术标签:

【中文标题】删除 Mac OS X 中 shell 可执行文件的停靠图标?【英文标题】:Remove dock icon for shell executable in Mac OS X? 【发布时间】:2011-01-27 10:52:18 【问题描述】:

我知道您可以通过设置LSUIELEMENT = 1 来移除应用程序的停靠图标。我有一个由cx_freeze 创建的可执行文件,它将一组 Python 脚本捆绑到一个可执行文件中。如何在使用或不使用 AppleScript 的情况下删除停靠图标?

【问题讨论】:

【参考方案1】:

普通的可执行文件(即命令行工具)不会出现在 Dock 中。

【讨论】:

我正在使用用 cxfreeze 创建的可执行二进制文件(python 脚本到可执行文件) @makalways:你可能应该在你的问题中提到这一点,并澄清你所说的“可执行文件”是什么意思——我猜 cxfreeze 实际上会生成一个包而不是一个普通的可执行文件。【参考方案2】:

我的应用在其中一个框架中有一些辅助命令行工具。如果工具存储在框架的可执行目录中,Mac OS X 想要在 Dock 中显示它们。由于这些工具运行速度很快,这会显示为一个短暂的闪烁,所有其他 Dock 图标都会移动,为新图标腾出空间,然后再向后移动。

为了解决这个问题,我在Info.plist 中将LSBackgroundOnly 设置为trueLSUIElement 可能也可以。由于命令行工具只是一个文件,因此设置Info.plist 的方式是拥有一个单独的文件,Xcode 会嵌入到二进制文件中。您可以通过将-sectcreate __TEXT __info_plist $(INFOPLIST_FILE) 添加到OTHER_LDFLAGS 构建设置来进行设置。 (希望有一个 Makefile 行或等效项,您可以在其中为cx_freeze 设置它。)

【讨论】:

以上是关于删除 Mac OS X 中 shell 可执行文件的停靠图标?的主要内容,如果未能解决你的问题,请参考以下文章

Mac OS X查看二进制可执行文件引用的动态链接库(otool –L xxxx.dylib)

Mac上如何运行shell脚本(变为可执行文件)

在 VS Code 上模拟 Android 时出现“无效参数:找不到 null 的可执行文件” - Mac OS X

如何在 Mac OS X 中删除文件的“扩展属性”?

Mac OS X文件系统的附加属性@如何彻底删除

如何通过双击在 OS X 中运行 shell 脚本?