Як я можу примушувати аргументи командного рядка до ярлика програми в доці?


17

У мене в програмах встановлено Chrome, і ярлик до нього в Доку. Як я можу домогтися примушування деяких аргументів командного рядка до кожного запуску цього додатка?

Дозвольте мені бути зрозумілішим: у Терміналі я можу це зробити: відкрити / Applications / Google \ Chrome.app --args - явно-дозволено-порти = 6666 І таким чином я змінюю поведінку Chrome так, як мені подобається. Як я можу мати цю опцію за замовчуванням при запуску програми з Finder Dock?

Відповіді:


9

Один із способів зробити це - із AppleScript.

Відкрийте редактор AppleScript (/ програми / утиліти) і введіть це:

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

Збережіть його як програму та додайте цю програму до док-станції.
Клацніть піктограму додатка, і Chrome відкриється зі своїми користувацькими параметрами.

Цей спосіб працює, але це не ідеально з кількох причин:

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

Це спрацює, але мені цікаво подивитися, чи придумає хтось кращу відповідь.


Шлях Натана - найкращий спосіб. Наразі в Chrome немає коду, який би прийняв їх за замовчуванням або прочитав файл налаштувань. Ці комутатори є тимчасовими для налагодження, поки функція не буде додана більш формально - тоді ви повинні мати спосіб її змінити більш назавжди. Див. Chromeium.org/developers/design-documents/appmode-mac щодо планів допоміжних програм. Перегляньте fluidapp.com про гарну обгортку - можливо, ви зможете зламати її відповідно до ваших потреб (або автору може сподобатися пропозиція поширити інструмент для вашої справи використання)
bmike

"Збережіть це як додаток і додайте цю програму в док." - як зберегти його як додаток? І намагаючись додати .scpt файл, позначений як виконуваний, до Dock просто не працює для мене в Mountain Lion: файл просто не "прилипає" до Док.
yurkennis

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!


1

Відповідно до статті підказки Mac OS X (знайденої в параметрах команд програми Googling mac gui ), це можна досягти шляхом редагування пакета програми. Я б зробив це на резервній копії 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 хоче використовувати вашу конфіденційну інформацію, що зберігається ... у вашому брелоку. Хочете дозволити доступ до цього предмета?"
yurkennis
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.