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

Pasando 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á matando es la insistencia de OSX en separar entre "aplicaciones" y "ventanas", asignando diferentes claves combos para alternar entre cualquiera, cada uno con su propio comportamiento de rotación (suspiro). Esto empeora aún más porque OSX insiste en traer todas las ventanas de la aplicación X al frente cada vez 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 ocupa 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 se llame) solo para poder trabajar con ellos. Prefiero no usar el mouse, pero estoy dispuesto a hacerlo si eso resuelve 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 interesan (Chrome, Terminal) como instancias separadas. Esto me permitirá cambiar entre ellos arbitrariamente sin forzarlos a todos al frente.

¿Alguien sabe de una manera de hacer eso en Yosemite? ¡Muchas gracias!

Para ser honesto, vuelve a Linux :-) He tenido los mismos problemas que tú durante meses y tampoco he podido resolverlos. ¿Lograste finalmente?

Respuestas (4)

Puede probar la siguiente sintaxis usando el opencomando:

open -na "Google Chrome"

donde -nlos parámetros abren una nueva instancia incluso si ya se está ejecutando.

Agregar extra --user-data-diriniciará la instancia en el directorio de perfil separado, por ejemplo

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

Y usando --profile-directorypuede cambiar el nombre de perfil predeterminado.

Esto definitivamente abre una nueva ventana, pero no puedo decir cómo es una nueva instancia. Esperaba que hubiera varios íconos de Chrome en el selector de tareas. Terminé buscando una aplicación para hacer algo similar a esto: bahoom.com/hyperswitch
No estoy seguro de por qué su sistema no muestra una nueva instancia. Cuando comienzo una nueva instancia con open -nSafari o Forklift (como ejemplos), aparecen en el Dock y el selector de aplicaciones como nuevas versiones (así como en el Monitor de actividad). Si está buscando un conmutador de aplicaciones alternativo, Witch by Many Tricks podría ser lo que desea. Permite cambiar tanto por aplicación como por ventana.
Ahh, esto parece ser algo diferente relacionado con Chrome... varias aplicaciones en mi sistema (iTerm, Safari, Forklift) comienzan nuevas instancias, pero Chrome parece tragarse la nueva instancia (el Monitor de actividad muestra una nueva instancia cuando opense ejecuta el comando, luego desaparece rápidamente y la nueva ventana se convierte en un subproceso de la instancia original de Chrome).

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

Para la mayoría de las aplicaciones, iniciar con open -naF "App Name"o open -nF /path/to/application.appdebería ser suficiente (consulte Safari, Forklift, aplicaciones de Office, etc.).

  • -nabre una nueva instancia
  • -adice openque busque en la lista de aplicaciones registradas (no es necesario especificar la ruta completa, pero puede salir mal si tiene varias versiones de una aplicación. A veces veo problemas en mi sistema para diferenciar entre aplicaciones macOS y aplicaciones instaladas por sistemas operativos Parallels... Prefiero especificar la ruta directamente).
  • -Fabre una instancia nueva (ignora el estado de guardado de una aplicación que quedó de instancias anteriores)

Para Google Chrome, se requiere algo ligeramente diferente (modificado de la fuente en esta publicación de blog ). Chrome debe iniciarse desde la línea de comandos con el --user-data-dir=/tmp/dirindicador establecido en "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"(especifique su propio directorio... si solo necesita dos instancias, probablemente sea mejor crear una segunda casa permanente, pero si necesita un número arbitrario, es mejor crear una función de shell que crea un directorio temporal aleatorio y luego lo elimina al salir).

El uso de este método da como resultado 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 desee incorporar banderas adicionales en su función de shell para iniciar Chrome... una lista extensa (actualizada automáticamente) está disponible aquí .

El método más simple es el open -ncomando .

p.ejopen -n /Applications/Chrome.app/

Gracias. Desafortunadamente, esto no tuvo el efecto esperado... Con Chrome, abrió una nueva ventana, pero estaba vinculada a la instancia que ya se estaba ejecutando. 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 agradecen más consejos.
No estoy muy seguro después de eso, lo siento. Solo uso Espacios y cambio entre configuraciones de trabajo, dependiendo de lo que esté haciendo.
Es probable que el comportamiento de la replicación esté relacionado con la función Reanudar que se introdujo en OS X 10.7. Puede deshabilitarlo por aplicación usando el defaults writecomando, o puede usar la -Fbandera con open( por ejemplo, open -nFa "Terminal" ) para abrir una instancia "nueva" de una aplicación (verifique manque la página esté abierta).

(Eventualmente) tendrás que terminar ejecutando la aplicación desde la Terminal.

Puede usar el open -ncomando desde la Terminal (como lo menciona @Tetsujin) o puede hacer clic en el ejecutable dentro del paquete de la aplicación (generalmente en Application/Contents/MacOS/)