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

17

Tengo Chrome instalado en Aplicaciones y un acceso directo a este 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 a mi gusto. ¿Cómo puedo tener esta opción por defecto al iniciar la aplicación desde Finder of the Dock?

tisek
fuente

Respuestas:

9

Una forma de hacerlo es con AppleScript.

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

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

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

De esta manera funciona, pero no es exactamente ideal por un par de razones:

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

Esto funcionará, pero estoy interesado en ver si a alguien se le ocurre una respuesta mejor.

Nathan Greenstein
fuente
El camino de Nathan es el mejor. Actualmente no hay código en Chrome para tomarlos como predeterminados o leer un archivo de preferencias. Esos cambios son temporales para la depuración hasta que se agregue una característica más formalmente, entonces debería tener una manera de cambiarla de manera más permanente. Consulte chromium.org/developers/design-documents/appmode-mac para conocer los planes para las aplicaciones de ayuda. Visite fluidapp.com para obtener un buen envoltorio: es posible que pueda piratearlo para satisfacer sus necesidades (o al autor le gustaría una sugerencia para ampliar la herramienta para su caso de uso)
bmike
"Guárdelo como una aplicación y agregue esa aplicación 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.
yurkennis
4

Si ingresa al paquete de aplicaciones (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, debe 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!

Cajunluke
fuente
1

De acuerdo con el artículo de Mac OS X Hints (encontrado en las opciones de comando de la aplicación Google gui de mac ), 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 la aplicación Google Chrome haciendo clic derecho / ctrl y seleccionándolo Show Package Contents.
  2. Dentro del paquete, navegue Contents/Mac OS/Google Chromey cámbiele el nombre 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.

Arrojar
fuente
La desventaja de esta respuesta es que resulta en 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?"
yurkennis