Você pode executar o seguinte comando do Terminal (por exemplo, em um script bash):
open -a "Google Chrome" chrome://newtab
Isso fará com que o aplicativo Google Chrome abra a URL chrome: // newtab , abrindo assim uma nova guia.
Infelizmente, o Google Chrome não registra o tipo de URL chrome://
nos Serviços de inicialização e acredita que esse é um caminho de arquivo.
Para corrigir isso, clique com o botão direito do mouse no pacote de aplicativos do Google Chrome, selecione Mostrar conteúdo do pacote , abra o diretório Conteúdo e edite Info.plist
em um editor de texto.
Pesquise CFBundleURLTypes
. Edite as seguintes linhas para adicionar as linhas indicadas por um +
:
<key>CFBundleURLTypes</key>
<array>
+ <dict>
+ <key>CFBundleURLName</key>
+ <string>Chrome Internal URLs</string>
+ <key>CFBundleURLSchemes</key>
+ <array>
+ <string>chrome</string>
+ </array>
+ </dict>
<dict>
<key>CFBundleURLName</key>
<string>Web site URL</string>
Salvar e fechar. Mova o pacote de aplicativos do Google Chrome para um diretório diferente e vice-versa, para que o Launch Services consiga a alteração (se não funcionar, efetue logout e volte).
Em seguida, execute open
, como descrito no começo.
Quando isso funcionar, sua melhor opção é executar um script de shell que execute o comando open
, que por sua vez é invocado, por exemplo: pelo seu lançador. Como acredito que o atraso é causado por osascript
loading, praticamente qualquer solução escolhida aqui deve ser rápida o suficiente.
Para semi-automatizar a edição do arquivo Info.plist
(você precisa repetir isso para todas as atualizações do Chrome), você pode usar PlistBuddy
no Terminal. Primeiro, crie um arquivo, por exemplo chamado chrome-url.plist
com o seguinte conteúdo:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<dict>
<key>CFBundleURLName</key>
<string>Chrome Internal URLs</string>
<key>CFBundleURLSchemes</key>
<array>
<string>chrome</string>
</array>
</dict>
</array>
</plist>
Em seguida, você pode usar o seguinte para corrigir o Info.plist
do Chrome:
/usr/libexec/PlistBuddy -c "Merge '/path/to/chrome-url.plist' :CFBundleURLTypes" /Applications/Google\ Chrome.app/Contents/Info.plist