¿Cómo puedo forzar los argumentos de la línea de comandos a un acceso directo del programa en el muelle?

Tengo Chrome instalado en Aplicaciones y un acceso directo a él en el Dock. ¿Cómo puedo lograr forzar algunos argumentos de línea de comandos para cada inicio de esta aplicación?

Permítanme ser más claro, en la Terminal, puedo hacer esto: abrir /Aplicaciones/Google\ Chrome.app --args --explicitly-allowed-ports=6666 Y de esa manera modifico el comportamiento de Chrome como me gusta. ¿Cómo puedo tener esta opción por defecto al iniciar la aplicación desde el Finder del Dock?

Respuestas (3)

Una forma de hacerlo es con AppleScript.

Abra el Editor de AppleScript (/Aplicaciones/Utilidades) y escriba esto:

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

Guárdelo como una aplicación y agréguela al Dock.
Haga clic en el icono de la aplicación y Chrome se abrirá con sus parámetros personalizados.

Esta forma funciona, pero no es exactamente ideal por un par de razones:

  • Ejecutar AppleScript llevará un poco más de tiempo que abrir la aplicación
  • Tendrás dos íconos en tu base (el script y Chrome)

Esto funcionará, pero estoy interesado en ver si alguien tiene una mejor respuesta.

La manera de Nathan es la mejor manera. No hay ningún código en Chrome en este momento para tomarlos como predeterminados o leer un archivo de preferencias. Esos cambios son temporales para la depuración hasta que se agregue una función de manera más formal; entonces debería tener una forma de cambiarla de manera más permanente. Consulte chromium.org/developers/design-documents/appmode-mac para conocer los planes de las aplicaciones auxiliares. Visite fluidapp.com para obtener un buen envoltorio: es posible que pueda modificarlo para satisfacer sus necesidades (o al autor podría gustarle una sugerencia para ampliar la herramienta para su caso de uso)
"Guárdelo como una aplicación y agréguela al Dock". -- ¿Cómo lo guardo como una aplicación? Y tratar de agregar un archivo .scpt marcado como ejecutable al Dock simplemente no funciona para mí en Mountain Lion: el archivo simplemente no se "pega" al Dock.
"Tendrá dos íconos en su base (el script y Chrome)" No los tendrá si agrega quitla nueva línea en su script: cerraría el script después de iniciar Chrome.

Si ingresa al paquete de la aplicación (haga clic con el botón derecho en la aplicación en Finder y seleccione "Ver contenido del paquete") y vaya a la carpeta Contenido/MacOS, debería haber un archivo llamado Google Chromecuyo icono es un cuadrado negro. Tome nota de su nombre y cámbiele el nombre (algo fácil como Google Chrome orig). Cree un archivo de texto en blanco en la carpeta con el mismo nombre ( Google Chrome) que el archivo original y péguelo en el siguiente script:

#!/bin/bash

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

¡Haga que su archivo de script sea ejecutable ( chmod +x "Google Chrome orig") y vea si eso inicia Chrome correctamente!

En mi Macbook, aparece el terminal, y cuando agrego el ícono de Chromium al puerto (cuando se ejecuta con ese script) no puedo ejecutarlo desde el puerto (se ejecuta pero la ventana no aparece)

De acuerdo con el artículo Sugerencias de Mac OS X (encontrado al buscar en Google las opciones de comando de la aplicación mac gui ), esto se puede lograr editando el paquete de la aplicación. Haría esto en una copia de seguridad de Chrome para probarlo primero.

  1. Abra el paquete de aplicaciones de Google Chrome haciendo clic con el botón derecho/Ctrl+clic sobre él y seleccionando Show Package Contents.
  2. Dentro del paquete, navegue Contents/Mac OS/Google Chromey cámbiele el nombre a algo como Google Chrome-bin.
  3. Cree un archivo de texto en esa misma ubicación con el nombre Google Chromecon los siguientes contenidos:

    !/bin/sh
    
    exec '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome-bin' --args --explicitly-allowed-ports=6666"
    
  4. Use la terminal para cambiar el nuevo archivo para que sea ejecutable ( chmod 755).

Tenga en cuenta que en realidad no he intentado esto, solo describo lo que se menciona en el artículo vinculado.

La desventaja de esta respuesta es que da como resultado una larga serie de "Google Chrome-bin quiere usar su información confidencial almacenada en... en su llavero. ¿Desea permitir el acceso a este elemento?"