Estou tentando seguir as instruções para fixar as guias de inicialização no Chrome . No OS X, como adiciono argumentos de linha de comando a itens que persistem no meu dock?
Estou tentando seguir as instruções para fixar as guias de inicialização no Chrome . No OS X, como adiciono argumentos de linha de comando a itens que persistem no meu dock?
Respostas:
Você tem basicamente duas opções:
Opção 1 : use o Automator para criar um aplicativo que efetivamente inicie o Chrome com argumentos de linha de comando.
Inicie o Automator e selecione para criar um aplicativo . Clique duas vezes em Executar Script do Shell na pasta Biblioteca / Utilitários e substitua o conteúdo do texto - cat
- pelo seguinte:
open -a "Google Chrome.app" --args -pinned-tab-count=4
# keep the .app suffix or will break with Parallels
Salve onde quiser.
Para substituir o ícone deste aplicativo, obtenha informações no Google Chrome real, clique no ícone no canto superior esquerdo, pressione Cmd-C
, obtenha informações no aplicativo Chrome Automator, clique no ícone e pressione Cmd-V
.
Por ser um aplicativo diferente, o Dock exibirá dois aplicativos Chrome quando estiver em execução: Chrome e seu iniciador do Chrome.
Opção 2 : edite seu pacote de aplicativos para iniciar um script. Este script iniciará o aplicativo real, adicionando o argumento da linha de comandos.
Clique com o botão direito do mouse Google Chrome.app
e selecione Mostrar Conteúdo do Pacote . Vá para Contents/
e abra Info.plist
no Property List Editor / Xcode (ferramentas de desenvolvedor da Apple) ou em um plist
editor de terceiros .
Procure a entrada CFBundleExecutable
ou Executable File
. Lembre-se do seu valor (por exemplo, firefox-bin
para o Firefox). Substitua por parameterized-app.sh
.
Abra o Terminal e digite o seguinte:
touch /Applications/Firefox.app/Contents/MacOS/parameterized-app.sh
open /Applications/Firefox.app/Contents/MacOS/parameterized-app.sh
Um editor para o .sh
arquivo será aberto. Defina o conteúdo do arquivo para:
#!/usr/bin/env bash
exec /Applications/Firefox.app/Contents/MacOS/firefox-bin -ProfileManager
(usando o nome do executável real do qual você removeu Info.plist
, adicionando os argumentos da linha de comando desejados)
Salvar e fechar. No Terminal, digite o seguinte:
chmod +x /Applications/Firefox.app/Contents/MacOS/parameterized-app.sh
Agora, feche o Terminal e mova seu aplicativo (que não deve estar em execução no momento) para uma pasta diferente e novamente. Isso atualizará os Serviços de inicialização , caso contrário, suas alterações serão ignoradas e o irritarão imensamente.
Agora, quando você abre o aplicativo, ele realmente executa o .sh
arquivo, que por sua vez inicia o arquivo executável real, enviando a linha de comando args.
Ele parecerá e se comportará como você espera, mas será necessário repeti-lo sempre que atualizar seu aplicativo, pois isso geralmente substituirá o pacote de aplicativos e todas as alterações feitas.
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -f /Applications/Hello\ World.app
Você pode escrever um script que inicie o Chrome, mas esse não seria o ícone do aplicativo no dock e faria com que um ícone separado do Chrome fosse exibido. Então você terá que criar um pacote de aplicativos.
Primeiro, faça uma cópia do seu aplicativo Chrome. Então, existem duas abordagens que podem funcionar; Não sei ao certo qual será melhor com o Mac OS X e / ou com a atualização automática do Chrome.
Crie um 'iniciador' que apenas chame o Chrome com os argumentos.
Na pasta MacOS, exclua o executável "Google Chrome" e substitua-o por um script de shell que chama o Chrome real:
#!/bin/sh
exec '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome' -pinned-tab-count=4
Não se esqueça chmod +x
do script.
Modifique o pacote do Chrome que você realmente executa.
Na pasta MacOS, renomeie o “Google Chrome” e escreva um shell script que invoque o real com os argumentos extras:
#!/bin/sh
exec '/Applications/My Modified Google Chrome.app/Contents/MacOS/Google Chrome-real' -pinned-tab-count=4
CodeResources
e / ou _CodeSignature
executá-lo com essas alterações.Tudo isso se baseia no meu entendimento dos pacotes de aplicativos para Mac; Na verdade, ainda não testei essas alterações no Chrome. É até possível que o executável do Chrome no Mac não suporte essa opção, pois geralmente não se espera que os aplicativos Mac sejam executados com opções de linha de comando controláveis (ao contrário do Windows, onde os aplicativos normalmente são iniciados por meio de atalhos que podem possuem opções incorporadas).
chmod 755 Google\ Chrome
(seu script) depois de terminar. Na verdade, chamei meu script de launch.sh e o vinculei ao Google \ Chrome para facilitar as atualizações.