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!
Puede probar la siguiente sintaxis usando el open
comando:
open -na "Google Chrome"
donde -n
los parámetros abren una nueva instancia incluso si ya se está ejecutando.
Agregar extra --user-data-dir
iniciará la instancia en el directorio de perfil separado, por ejemplo
open -na "Google Chrome" --args --user-data-dir="$PWD/Foo"
Y usando --profile-directory
puede cambiar el nombre de perfil predeterminado.
open -n
Safari 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.open
se 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.app
debería ser suficiente (consulte Safari, Forklift, aplicaciones de Office, etc.).
-n
abre una nueva instancia-a
dice open
que 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).-F
abre 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/dir
indicador 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 -n
comando .
p.ejopen -n /Applications/Chrome.app/
defaults write
comando, o puede usar la -F
bandera con open
( por ejemplo, open -nFa "Terminal"
) para abrir una instancia "nueva" de una aplicación (verifique man
que la página esté abierta).(Eventualmente) tendrás que terminar ejecutando la aplicación desde la Terminal.
Puede usar el open -n
comando 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/
)
flideberg