23 votos

¿Cómo abrir nuevas ventanas como instancias de aplicaciones separadas para Chrome, Terminal?

Migrando de Linux (OpenBox WM) a MBP, estoy luchando por recuperar el nivel de productividad al que estaba acostumbrado... Una cosa específica que lo está dificultando es la insistencia de OSX en separar entre "aplicaciones" y "ventanas", asignando combinaciones de teclas diferentes para alternar entre ambas, cada una con su propio comportamiento de rotación (suspiro). Esto empeora aún más porque OSX insiste en llevar todas las ventanas de la aplicación X al frente siempre que cambio a ella. A menudo me encuentro con situaciones en las que tengo dos o más ventanas de Chrome y dos o más ventanas de Terminal, cada grupo abarcando todo el espacio del escritorio, pero no puedo tener una de cada una al frente al mismo tiempo.

Otras restricciones: No quiero mover ventanas a espacios de trabajo separados (o como sea que se llamen) solo para poder trabajar con ellas. Prefiero no usar el ratón, pero estoy dispuesto a hacerlo si eso soluciona mi problema (no lo hará en el caso anterior).

Una cosa que podría resolver mi problema es poder iniciar nuevas ventanas de las aplicaciones que me importan (Chrome, Terminal) como instancias separadas. Esto me permitirá alternar entre ellas arbitrariamente sin obligar a todas a estar al frente.

¿Alguien sabe si hay alguna manera de hacer eso en Yosemite? ¡Muchas gracias!

2 votos

Para ser honesto, cambia de nuevo a Linux :-) He tenido los mismos problemas que tú durante meses y tampoco he podido resolverlo. ¿Finalmente lo lograste?

19voto

matthew k Puntos 11

Puedes probar la siguiente sintaxis usando el comando open:

open -na "Google Chrome"

donde el parámetro -n abre una nueva instancia incluso si ya hay una en ejecución.

Agregar --user-data-dir adicional iniciará la instancia en un directorio de perfil separado, por ejemplo

open -na "Google Chrome" --args --user-data-dir="$PWD/Foo"

Y utilizando --profile-directory puedes cambiar el nombre del perfil predeterminado.

15voto

Dustin Wheeler Puntos 389

Ok, una respuesta completa para el caso general y para Chrome específicamente:

Para la mayoría de aplicaciones, lanzar con open -naF "Nombre de la Aplicación" o open -nF /ruta/a/aplicación.app debería ser suficiente (ver Safari, Forklift, aplicaciones de Office, etc.).

  • -n abre una nueva instancia
  • -a le dice a open que busque en la lista de aplicaciones registradas (no es necesario especificar la ruta completa, pero puede ir mal si tienes múltiples versiones de una aplicación. A veces veo problemas en mi sistema al diferenciar entre aplicaciones de macOS y aplicaciones instaladas por OSes de Parallels... Prefiero especificar la ruta directamente)
  • -F abre una instancia nueva (ignora un estado de guardado de la aplicación dejado por instancias anteriores)

Para Google Chrome, se requiere algo ligeramente diferente (modificado de la fuente en esta publicación de blog). Chrome debe ser lanzado desde la línea de comandos con la bandera --user-data-dir=/tmp/dir establecida en "/Aplicaciones/Google Chrome.app/Contenidos/MacOS/Google Chrome" (especifica tu propio directorio... si solo necesitas dos instancias, lo mejor es hacer un segundo hogar permanente, pero si necesitas un número arbitrario, es mejor crear una función de shell que cree un directorio temporal aleatorio y luego lo elimine al salir).

Usar este método resulta en múltiples instancias de Chrome en mi máquina y evita que Chrome las consolide bajo el mismo proceso maestro.

Por cierto, es posible que desees incorporar banderas adicionales en tu función de shell para lanzar Chrome... una extensa (automáticamente actualizada) lista está disponible aquí.

2voto

Tetsujin Puntos 23061

El método más sencillo es el comando open -n

por ejemplo open -n /Applications/Chrome.app/

1 votos

Gracias. Desafortunadamente, esto no tuvo el efecto esperado... Con Chrome, abrió una nueva ventana de hecho, pero estaba vinculada a la instancia que ya estaba en ejecución. Con Terminal, creó una nueva instancia que replicaba las ventanas de la instancia en ejecución (de una manera muy extraña). No estoy seguro de cómo proceder aquí, se agradece cualquier consejo adicional.

0 votos

No estoy muy seguro después de eso, lo siento. Simplemente uso Espacios y alterno entre las configuraciones de trabajo, dependiendo de lo que esté haciendo.

0 votos

El comportamiento de replicación está probablemente ligado a la función de Resumen que fue introducida en OS X 10.7. Puedes desactivarlo en una base por aplicación utilizando el comando defaults write, o puedes usar la bandera -F con open (por ejemplo, open -nFa "Terminal") para abrir una instancia "fresca" de una app (consulta la página man de open).

1voto

JMY1000 Puntos 1205

Tendrás que terminar ejecutando la aplicación desde Terminal.

Puedes usar el comando open -n desde Terminal (como lo mencionó @Tetsujin) o puedes hacer clic en el ejecutable dentro del paquete de la aplicación (generalmente en Application/Contents/MacOS/)

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X