Как я могу заставить аргументы командной строки для ярлыка программы в доке?

17

У меня установлен Chrome в Приложениях и ярлык к нему в Dock. Как я могу добиться, чтобы заставить аргументы командной строки для каждого запуска этого приложения?

Позвольте мне быть более понятным, в Терминале я могу сделать это: open / Applications / Google \ Chrome.app --args --explicitly-allow-ports = 6666 И таким образом я изменяю поведение Chrome так, как мне нравится. Как я могу иметь эту опцию по умолчанию при запуске приложения из Finder Dock?

tisek
источник

Ответы:

9

Один из способов сделать это с помощью AppleScript.

Откройте редактор AppleScript (/ Applications / Utilities) и введите его в:

do shell script "open '/Applications/Google Chrome.app'  --args --explicitly-allowed-ports=6666"

Сохраните его как приложение и добавьте это приложение в Dock.
Нажмите на значок приложения, и Chrome откроет ваши пользовательские параметры.

Этот способ работает, но он не совсем идеален по нескольким причинам:

  • Запуск AppleScript займет немного больше времени, чем просто открытие приложения
  • У вас будет две иконки в доке (скрипт и Chrome)

Это сработает, но мне интересно посмотреть, если кто-нибудь придумает лучший ответ.

Натан Гринштейн
источник
Путь Натана - лучший. В настоящее время в Chrome нет кода, который бы использовал их по умолчанию или считывал файл настроек. Эти переключатели являются временными для отладки, пока функция не будет добавлена ​​более формально - тогда у вас должен быть способ изменить ее более постоянно. См. Chromium.org/developers/design-documents/appmode-mac для планов вспомогательных приложений. Смотрите fluidapp.com для красивой обертки - вы могли бы взломать его в соответствии с вашими потребностями (или автор может как предложением продлить инструмент для Вашего случая использования)
bmike
«Сохраните его как приложение и добавьте это приложение в Dock». я могу сохранить его как приложение? И попытка добавить файл .scpt, помеченный как исполняемый файл, в Dock просто не работает для меня под Mountain Lion: файл просто не «прилипает» к Dock.
Юркеннис,
4

Если вы войдете в комплект приложения (щелкните правой кнопкой мыши приложение в Finder и выберите «Просмотр содержимого пакета») и перейдите в папку «Содержимое / MacOS», должен быть файл с именем, Google Chromeчей значок - черный квадрат. Запишите его имя и переименуйте его (что-то вроде Google Chrome orig). Создайте пустой текстовый файл в папке с тем же именем ( Google Chrome), что и исходный файл, и вставьте следующий скрипт:

#!/bin/bash

/Applications/"Google Chrome.app"/Contents/MacOS/"Google Chrome orig" --args --explicitly-allowed-ports=6666

Сделайте ваш файл скрипта исполняемым ( chmod +x "Google Chrome orig") и посмотрите, правильно ли он запускает Chrome!

Cajunluke
источник
1

Согласно статье Mac OS X Hints (найденной в параметрах команд приложения Mac с графическим интерфейсом Googling ), это можно сделать, отредактировав пакет приложения. Я бы сделал это на резервной копии Chrome, чтобы сначала проверить его.

  1. Откройте пакет приложений Google Chrome, щелкнув по нему правой кнопкой мыши и нажав Ctrl и выбрав Show Package Contents.
  2. В пакете перейдите Contents/Mac OS/Google Chromeи переименуйте его как-то так Google Chrome-bin.
  3. Создайте в этом же месте текстовый файл с именем Google Chromeследующего содержания:

    !/bin/sh
    
    exec '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome-bin' --args --explicitly-allowed-ports=6666"
  4. Используйте терминал, чтобы изменить новый файл на исполняемый ( chmod 755).

Обратите внимание, я на самом деле не пробовал это, только обрисовывая в общих чертах то, что упомянуто в связанной статье.

цыпленок
источник
Недостатком этого ответа является то, что он приводит к длинной серии "Google Chrome-bin хочет использовать вашу конфиденциальную информацию, хранящуюся в ... в вашей цепочке для ключей. Вы хотите разрешить доступ к этому элементу?"
Юркеннис