Intento seguir las instrucciones para fijar pestañas de inicio en Chrome . En OS X, ¿cómo agrego argumentos de línea de comandos a los elementos que persisten en mi dock?
Intento seguir las instrucciones para fijar pestañas de inicio en Chrome . En OS X, ¿cómo agrego argumentos de línea de comandos a los elementos que persisten en mi dock?
Respuestas:
Básicamente tienes dos opciones:
Opción 1 : use Automator para crear una aplicación que, de hecho, inicie Chrome con argumentos de línea de comandos.
Inicie Automator y seleccione crear una aplicación . Haga doble clic en Ejecutar script de shell en la carpeta Biblioteca / Utilidades y reemplace el contenido de texto cat
- con lo siguiente:
open -a "Google Chrome.app" --args -pinned-tab-count=4
# keep the .app suffix or will break with Parallels
Ahorra donde quieras.
Para reemplazar el ícono de esta aplicación, obtenga información en su Google Chrome real, haga clic en el ícono en la parte superior izquierda, presione Cmd-C
, obtenga información en su aplicación Chrome Automator, haga clic en el ícono y presione Cmd-V
.
Como es una aplicación diferente, el Dock mostrará dos aplicaciones de Chrome cuando se esté ejecutando: Chrome y su iniciador de Chrome.
Opción 2 : Edite su paquete de aplicaciones para iniciar un script en su lugar. Este script iniciará la aplicación real, agregando el argumento de la línea de comando.
Haga clic derecho Google Chrome.app
y seleccione Mostrar contenido del paquete . Vaya Contents/
y abra Info.plist
en Property List Editor / Xcode (herramientas de desarrollador de Apple), o un plist
editor de terceros .
Busque la entrada CFBundleExecutable
o Executable File
. Recuerde su valor (por ejemplo, firefox-bin
para Firefox). Reemplácelo con parameterized-app.sh
.
Abra la Terminal e ingrese lo siguiente:
touch /Applications/Firefox.app/Contents/MacOS/parameterized-app.sh
open /Applications/Firefox.app/Contents/MacOS/parameterized-app.sh
Se .sh
abrirá un editor para el archivo. Establezca el contenido del archivo en:
#!/usr/bin/env bash
exec /Applications/Firefox.app/Contents/MacOS/firefox-bin -ProfileManager
(utilizando el nombre del ejecutable real que eliminó Info.plist
, agregando los argumentos de línea de comandos deseados)
Guardar y cerrar. En Terminal, ingrese lo siguiente:
chmod +x /Applications/Firefox.app/Contents/MacOS/parameterized-app.sh
Ahora, cierre Terminal y mueva su aplicación (que no debe estar ejecutándose en este momento) a una carpeta diferente y viceversa. Esto actualizará los Servicios de lanzamiento , de lo contrario, sus cambios serán ignorados y lo irritarán inmensamente.
Ahora, cuando abra su aplicación, realmente ejecutará el .sh
archivo, que a su vez lanzará el archivo ejecutable real, enviando los argumentos de la línea de comando.
Se verá y se comportará como espera, pero deberá repetir esto cada vez que actualice su aplicación, ya que generalmente reemplazará el paquete de la aplicación y todos los cambios que haya realizado.
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -f /Applications/Hello\ World.app
Podría escribir una secuencia de comandos que inicie Chrome, pero ese no sería el ícono de la aplicación en el dock, y causaría que aparezca un ícono de Chrome por separado. Entonces tendrá que crear un paquete de aplicación.
Primero, haga una copia de su aplicación Chrome. Entonces, hay dos enfoques que podrían funcionar; No estoy seguro de qué jugará mejor con Mac OS X y / o la actualización automática de Chrome.
Haz un 'lanzador' que solo llame a Chrome con los argumentos.
En la carpeta MacOS, elimine el ejecutable "Google Chrome" y reemplácelo con un script de shell que llame al Chrome real:
#!/bin/sh
exec '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome' -pinned-tab-count=4
No te olvides chmod +x
del guión.
Modifique el paquete de Chrome que realmente ejecuta.
En la carpeta MacOS, cambie el nombre de "Google Chrome" y escriba un script de shell que invoque lo real con los argumentos adicionales:
#!/bin/sh
exec '/Applications/My Modified Google Chrome.app/Contents/MacOS/Google Chrome-real' -pinned-tab-count=4
CodeResources
y / o _CodeSignature
hacer que se ejecute con estos cambios.Todo esto se basa en mi comprensión de los paquetes de aplicaciones de Mac; En realidad, no he probado estos cambios en Chrome en particular. Incluso es posible que el ejecutable de Chrome en Mac no admita esta opción, ya que generalmente no se espera que las aplicaciones de Mac se ejecuten con opciones de línea de comandos controlables (a diferencia, por ejemplo, de Windows, donde las aplicaciones se inician normalmente mediante accesos directos que pueden tener opciones integradas).
chmod 755 Google\ Chrome
(su secuencia de comandos) una vez que haya terminado. De hecho, llamé a mi script launch.sh y lo vinculé a Google \ Chrome para facilitar las actualizaciones.