Próbuję postępować zgodnie z instrukcjami dotyczącymi przypinania kart startowych w Chrome . W systemie OS X jak dodać argumenty wiersza poleceń do elementów, które pozostają w doku?
Próbuję postępować zgodnie z instrukcjami dotyczącymi przypinania kart startowych w Chrome . W systemie OS X jak dodać argumenty wiersza poleceń do elementów, które pozostają w doku?
Odpowiedzi:
Masz w zasadzie dwie opcje:
Opcja 1 : użyj Automatora, aby utworzyć aplikację, która w rzeczywistości uruchamia Chrome z argumentami wiersza poleceń.
Uruchom Automator i wybierz, aby utworzyć aplikację . Kliknij dwukrotnie opcję Uruchom skrypt powłoki w folderze Biblioteka / Narzędzia i zamień zawartość tekstową - cat
- na:
open -a "Google Chrome.app" --args -pinned-tab-count=4
# keep the .app suffix or will break with Parallels
Zapisz gdziekolwiek chcesz.
Aby zastąpić ikonę tej aplikacji, uzyskaj informacje o swojej prawdziwej przeglądarce Google Chrome, kliknij ikonę w lewym górnym rogu, naciśnij Cmd-C
, Uzyskaj informacje o aplikacji Chrome Automator, kliknij ikonę i naciśnij Cmd-V
.
Ponieważ jest to inna aplikacja, Dock wyświetli dwie uruchomione aplikacje Chrome: Chrome i program uruchamiający Chrome.
Opcja 2 : Edytuj pakiet aplikacji, aby zamiast tego uruchomić skrypt. Ten skrypt uruchomi rzeczywistą aplikację, dodając argument wiersza poleceń.
Kliknij prawym przyciskiem myszy Google Chrome.app
i wybierz opcję Pokaż zawartość opakowania . Przejdź do Contents/
i otwórz Info.plist
w edytorze list właściwości / Xcode (narzędzia programistyczne Apple) lub plist
edytorze innej firmy .
Poszukaj wpisu CFBundleExecutable
lub Executable File
. Zapamiętaj jego wartość (np. firefox-bin
Dla Firefoksa). Zamień na parameterized-app.sh
.
Otwórz terminal i wprowadź następujące dane:
touch /Applications/Firefox.app/Contents/MacOS/parameterized-app.sh
open /Applications/Firefox.app/Contents/MacOS/parameterized-app.sh
.sh
Otworzy się edytor pliku. Ustaw zawartość pliku na:
#!/usr/bin/env bash
exec /Applications/Firefox.app/Contents/MacOS/firefox-bin -ProfileManager
(używając rzeczywistej nazwy pliku wykonywalnego, z którego usunięto Info.plist
, dodając żądane argumenty wiersza poleceń)
Zapisz i zamknij. W terminalu wprowadź następujące dane:
chmod +x /Applications/Firefox.app/Contents/MacOS/parameterized-app.sh
Teraz zamknij Terminal i przenieś aplikację (która nie może być teraz uruchomiona) do innego folderu i ponownie. Spowoduje to zaktualizowanie usług uruchamiania , w przeciwnym razie twoje zmiany zostaną zignorowane i irytują cię bardzo.
Teraz, kiedy otworzysz aplikację, faktycznie wykona ona .sh
plik, co z kolei uruchomi plik wykonywalny, wysyłając argumenty wiersza poleceń.
Będzie wyglądał i zachowywał się tak, jak się tego spodziewasz, ale będziesz musiał powtórzyć to przy każdej aktualizacji aplikacji, ponieważ zasadniczo zastąpi to pakiet aplikacji i wszystkie wprowadzone zmiany.
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -f /Applications/Hello\ World.app
Możesz napisać skrypt, który uruchamia Chrome, ale nie byłaby to ikona aplikacji w doku i spowodowałaby wyświetlenie oddzielnej ikony Chrome. Musisz więc stworzyć pakiet aplikacji.
Najpierw zrób kopię swojej aplikacji Chrome. Istnieją dwa podejścia, które mogą zadziałać; Nie jestem pewien, która gra lepiej w Mac OS X i / lub w automatycznej aktualizacji Chrome.
Zrób „program uruchamiający”, który po prostu wywołuje Chrome z argumentami.
W folderze MacOS usuń plik wykonywalny „Google Chrome” i zastąp go skryptem powłoki, który wywołuje prawdziwego Chrome:
#!/bin/sh
exec '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome' -pinned-tab-count=4
Nie zapomnij o chmod +x
skrypcie.
Zmodyfikuj faktycznie uruchomiony pakiet Chrome.
W folderze MacOS zmień nazwę „Google Chrome” i napisz skrypt powłoki, który wywołuje rzeczywistość z dodatkowymi argumentami:
#!/bin/sh
exec '/Applications/My Modified Google Chrome.app/Contents/MacOS/Google Chrome-real' -pinned-tab-count=4
CodeResources
i / lub _CodeSignature
uruchomienie go z tymi zmianami.Wszystko to opiera się na mojej wiedzy na temat pakietów aplikacji dla komputerów Mac; W szczególności nie testowałem tych zmian w Chrome. Możliwe jest nawet, że plik wykonywalny Chrome na Macu nie obsługuje tej opcji, ponieważ generalnie nie oczekuje się, że aplikacje Mac będą działać z kontrolowanymi opcjami wiersza poleceń (w przeciwieństwie do, na przykład, systemu Windows, w którym aplikacje są zwykle uruchamiane za pomocą skrótów, które mogą mają osadzone opcje).
chmod 755 Google\ Chrome
(swojego skryptu) po zakończeniu. Właściwie nazwałem swój skrypt launch.sh i dowiązałem go symbolicznie do Google \ Chrome, aby ułatwić aktualizację.