Jak zmusić argumenty wiersza polecenia do skrótu programu w doku?

17

Mam zainstalowanego Chrome w aplikacjach, a skrót do niego w Docku. Jak mogę zmusić niektóre argumenty wiersza polecenia do każdego uruchomienia tej aplikacji?

Pozwólcie, że wyjaśnię: w Terminalu mogę to zrobić: open / Applications / Google \ Chrome.app --args --explicitly-dozwolony-porty = 6666 I w ten sposób modyfikuję zachowanie Chrome tak, jak mi się podoba. Jak mogę domyślnie korzystać z tej opcji podczas uruchamiania aplikacji z Findera Docka?

tisek
źródło

Odpowiedzi:

9

Jednym ze sposobów jest skorzystanie z AppleScript.

Otwórz AppleScript Editor (/ Aplikacje / Narzędzia) i wpisz:

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

Zapisz go jako aplikację i dodaj tę aplikację do Docka.
Kliknij ikonę aplikacji, a Chrome otworzy się z niestandardowymi parametrami.

Ten sposób działa, ale nie jest idealnie idealny z kilku powodów:

  • Uruchomienie AppleScript potrwa nieco dłużej niż samo otwarcie aplikacji
  • W doku będziesz mieć dwie ikony (skrypt i Chrome)

To zadziała, ale interesuje mnie, czy ktoś wymyśli lepszą odpowiedź.

Nathan Greenstein
źródło
Sposób Nathana jest najlepszy. Obecnie w Chrome nie ma kodu, który mógłby przyjąć je jako domyślny lub odczytać plik preferencji. Te przełączniki są tymczasowe do debugowania, dopóki funkcja nie zostanie dodana bardziej formalnie - wtedy powinieneś mieć sposób, aby zmienić ją na stałe. Zobacz chromium.org/developers/design-documents/appmode-mac, aby uzyskać plany dotyczące aplikacji pomocniczych. Zobacz fluidapp.com, aby uzyskać fajne opakowanie - możesz być w stanie zhakować go zgodnie z własnymi potrzebami (lub autor może
poprosić
„Zapisz go jako aplikację i dodaj tę aplikację do Docka”. - jak zapisać go jako aplikację? A próba dodania pliku .scpt oznaczonego jako wykonywalny do Docka po prostu nie działa w Mountain Lion: plik po prostu nie „przykleja się” do Docka.
yurkennis
4

Jeśli wejdziesz do pakietu aplikacji (kliknij prawym przyciskiem myszy aplikację w Finderze i wybierz „Wyświetl zawartość pakietu”) i przejdź do folderu Contents / MacOS, powinien istnieć plik o nazwie, Google Chromektórego ikoną jest czarny kwadrat. Zanotuj jego nazwę i zmień nazwę (coś łatwego jak Google Chrome orig). Utwórz pusty plik tekstowy w folderze o tej samej nazwie ( Google Chrome) co oryginalny plik i wklej następujący skrypt:

#!/bin/bash

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

Ustaw plik skryptu jako wykonywalny ( chmod +x "Google Chrome orig") i sprawdź, czy uruchamia on poprawnie Chrome!

Cajunluke
źródło
1

Zgodnie z artykułem Wskazówki dla systemu Mac OS X (znajdującym się w opcjach poleceń aplikacji Mac gui Googling ) można to zrobić, edytując pakiet aplikacji. Zrobiłbym to na kopii zapasowej Chrome, aby go najpierw przetestować.

  1. Otwórz pakiet aplikacji Google Chrome, klikając go prawym przyciskiem myszy / przytrzymując klawisz Ctrl i wybierając Show Package Contents.
  2. W pakiecie przejdź do Contents/Mac OS/Google Chromenazwy i zmień jej nazwę Google Chrome-bin.
  3. Utwórz plik tekstowy w tej samej lokalizacji o nazwie Google Chromeo następującej treści:

    !/bin/sh
    
    exec '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome-bin' --args --explicitly-allowed-ports=6666"
  4. Użyj terminala, aby zmienić nowy plik na wykonywalny ( chmod 755).

Uwaga: tak naprawdę nie próbowałem tego, tylko opisując to, co wspomniano w powiązanym artykule.

Głaskanie pod brodę
źródło
Minusem tej odpowiedzi jest to, że skutkuje to długą serią „Google Chrome-bin chce wykorzystać twoje poufne informacje przechowywane w ... w pęku kluczy. Czy chcesz zezwolić na dostęp do tego elementu?”
yurkennis