sud*_*oer 78 dock application-launch command-line-arguments macos
我正在尝试按照在 Chrome 中固定启动选项卡的说明进行操作。在 OS X 上,如何将命令行参数添加到我的 Dock 中持续存在的项目?
Dan*_*eck 102
您基本上有两种选择:
选项 1:使用 Automator 创建一个应用程序,该应用程序实际上使用命令行参数启动 Chrome。
启动 Automator 并选择创建一个应用程序。双击Library/Utilities文件夹中的Run Shell Script,将文本内容 — — 替换为以下内容:cat
open -a "Google Chrome.app" --args -pinned-tab-count=4
# keep the .app suffix or will break with Parallels
Run Code Online (Sandbox Code Playgroud)
保存在任何你喜欢的地方。
要替换此应用程序的图标,请在您真正的 Google Chrome 上获取信息,单击左上角的图标,按Cmd-C,在 Chrome Automator 应用程序上获取信息,单击该图标,然后按Cmd-V。
由于它是一个不同的应用程序,因此 Dock 在运行时会显示两个 Chrome 应用程序:Chrome 和您的 Chrome 启动器。
选项 2:编辑您的应用程序包以启动脚本。此脚本将启动实际应用程序,并添加命令行参数。
右键单击Google Chrome.app并选择Show Package Contents。转到Contents/并Info.plist在属性列表编辑器/Xcode(Apple 的开发人员工具)或第三方plist编辑器中打开。
查找条目CFBundleExecutable或Executable File。记住它的价值(例如firefox-bin对于 Firefox)。将其替换为parameterized-app.sh.
打开终端并输入以下内容:
touch /Applications/Firefox.app/Contents/MacOS/parameterized-app.sh
open /Applications/Firefox.app/Contents/MacOS/parameterized-app.sh
Run Code Online (Sandbox Code Playgroud)
该.sh文件的编辑器将打开。将文件内容设置为:
#!/usr/bin/env bash
exec /Applications/Firefox.app/Contents/MacOS/firefox-bin -ProfileManager
Run Code Online (Sandbox Code Playgroud)
(使用您从中删除的实际可执行文件的名称Info.plist,添加所需的命令行参数)
保存并关闭。在终端中,输入以下内容:
chmod +x /Applications/Firefox.app/Contents/MacOS/parameterized-app.sh
Run Code Online (Sandbox Code Playgroud)
现在,关闭终端并将您的应用程序(现在不能正在运行)移动到不同的文件夹,然后再返回。这将更新Launch Services,否则您的更改将被忽略并极大地激怒您。
现在,当您打开应用程序时,它会实际执行该.sh文件,进而启动实际的可执行文件,同时发送命令行参数。
它的外观和行为与您期望的一样,但是每当您更新应用程序时,您都需要重复此操作,因为这通常会替换应用程序包和您所做的所有更改。
Kev*_*eid 10
您可以编写一个启动 Chrome 的脚本,但这不会是 Dock 中的应用程序图标,它会导致出现一个单独的 Chrome 图标。所以你必须创建一个应用程序包。
首先,复制您的 Chrome 应用程序。那么,有两种方法可能有效;我不确定哪个会在 Mac OS X 和/或 Chrome 的自我更新中发挥得更好。
制作一个只用参数调用 Chrome 的“启动器”。
在 MacOS 文件夹中,删除“Google Chrome”可执行文件,并替换为调用真正 Chrome 的 shell 脚本:
#!/bin/sh
exec '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome' -pinned-tab-count=4
Run Code Online (Sandbox Code Playgroud)
不要忘记chmod +x脚本。
修改你实际运行的 Chrome 包。
在 MacOS 文件夹中,重命名“Google Chrome”并编写一个 shell 脚本,用额外的参数调用真实的东西:
#!/bin/sh
exec '/Applications/My Modified Google Chrome.app/Contents/MacOS/Google Chrome-real' -pinned-tab-count=4
Run Code Online (Sandbox Code Playgroud)CodeResources和/或_CodeSignature使其与这些更改一起运行。这都是基于我对 Mac 应用程序包的理解;我还没有特别在 Chrome 上测试过这些更改。Mac 上的 Chrome 可执行文件甚至有可能不支持此选项,因为 Mac 应用程序通常不希望使用可控命令行选项运行(与 Windows 不同,Windows 应用程序通常通过快捷方式启动,可以有嵌入式选项)。
| 归档时间: |
|
| 查看次数: |
74453 次 |
| 最近记录: |