Я пытаюсь следовать инструкциям для прикрепления вкладок запуска в Chrome. На OS X, как я добавляю параметры командной строки к объектам, которые сохраняются в моем прикреплении?
У Вас есть в основном две опции:
Опция 1: Используйте Automator для создавания приложения, которое в действительности запускает Chrome с параметрами командной строки.
Запустите Automator и выбор для создавания Приложения. Дважды щелкните по Run Shell Script в папке Library/Utilities и замените текстовое содержание — cat
— со следующим:
open -a "Google Chrome.app" --args -pinned-tab-count=4
# keep the .app suffix or will break with Parallels
Сохраните где угодно, Вам нравится.
Для замены значка этого приложения Получите Информацию о реальном Google Chrome, нажмите на значок вверху слева, нажмите Cmd-C
, Получите Информацию о своем приложении Automator Chrome, нажмите значок и нажатие Cmd-V
.
Так как это - другое приложение, Прикрепление отобразит два приложения Chrome, когда это будет работать: Chrome и Ваше средство запуска Chrome.
Опция 2: Отредактируйте свой комплект приложений для запуска сценария вместо этого. Этот сценарий запустит реальное приложение, добавляя параметр командной строки.
Щелкнуть правой кнопкой Google Chrome.app
и выберите Выставочное Содержание Пакета. Перейдите в Contents/
и открытый Info.plist
в Редакторе/XCode Списка свойств (инструменты разработчика Apple), или третье лицо plist
редактор.
Ищите запись CFBundleExecutable
или Executable File
. Помните его значение (например. firefox-bin
для Firefox). Замените его parameterized-app.sh
.
Откройте Terminal и введите следующее:
touch /Applications/Firefox.app/Contents/MacOS/parameterized-app.sh
open /Applications/Firefox.app/Contents/MacOS/parameterized-app.sh
Редактор для .sh
файл откроется. Установите содержание файла к:
#!/usr/bin/env bash
exec /Applications/Firefox.app/Contents/MacOS/firefox-bin -ProfileManager
(использование имени фактического исполняемого файла Вы удалили из Info.plist
, добавление желаемых параметров командной строки)
Сохраните и закройтесь. В Терминале введите следующее:
chmod +x /Applications/Firefox.app/Contents/MacOS/parameterized-app.sh
Теперь, закройте Терминал и переместите Ваше приложение (который не должен работать прямо сейчас) к другой папке и назад снова. Это обновит Launch Services, иначе Ваши изменения будут проигнорированы и раздражать Вас очень.
Теперь, когда Вы открываете свое приложение, оно на самом деле выполнится .sh
файл, который в свою очередь запустит фактический исполняемый файл, отправляя командную строку args вперед.
Это будет смотреть и вести себя как Вы, ожидают это к, но необходимо будет повторить это каждый раз, когда Вы обновляете свое приложение, поскольку это будет обычно заменять комплект приложений и все изменения, Вы сделали.
Вы могли записать сценарий, который запускает Chrome, но это не было бы значком приложения в прикреплении, и это заставит отдельный значок Chrome появляться. Таким образом, необходимо будет создать пакет приложений.
Во-первых, сделайте копию своего приложения Chrome. Затем существует два подхода, которые могли бы работать; я не уверен, который будет играть лучше с Mac OS X и/или самообновлением Chrome.
Сделайте 'средство запуска', которое просто называет Chrome с аргументами.
В папке MacOS удалите исполняемый файл “Google Chrome” и замените его сценарием оболочки, который называет реальный Chrome:
#!/bin/sh
exec '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome' -pinned-tab-count=4
Не забывайте chmod +x
сценарий.
Измените пакет Chrome, который Вы на самом деле выполняете.
В папке MacOS переименуйте “Google Chrome” и запишите сценарий оболочки, который вызывает реальную вещь с дополнительными аргументами:
#!/bin/sh
exec '/Applications/My Modified Google Chrome.app/Contents/MacOS/Google Chrome-real' -pinned-tab-count=4
CodeResources
и/или _CodeSignature
заставить это работать с этими изменениями.Это - все на основе моего понимания пакетов приложения для Mac; я на самом деле не протестировал эти изменения на Chrome в частности. Даже возможно, что исполняемый файл Chrome на Mac не поддерживает эту опцию, поскольку приложения Mac, как обычно ожидают, не будут запущены с управляемыми параметрами командной строки (в отличие от этого, например, Windows, где приложения обычно запускаются через ярлыки, которые могли встроить опции).