Abrir la aplicación en un escritorio diferente

Estoy tratando de abrir una aplicación en un escritorio diferente en mi MacBook (macOS Sierra versión 10.12.5).

En la captura de pantalla, asigné Chrome a un espacio diferente (Escritorio 1). Voy al Escritorio 2 y cuando hago clic en el ícono de Chrome, automáticamente cambio al Escritorio 1. ¿Cómo podría permanecer en el Escritorio 2?

Chrome está asignado al Escritorio 1

EDITAR

Tal vez los registros sean útiles. ¿Qué proceso activa el cambio de escritorio?Consola - Todos los mensajes

Si asignó Chrome al escritorio 1, cuando haga clic en el icono de Chrome, accederá al escritorio que asignó para la aplicación. Si no desea que se asigne al Escritorio 1, simplemente seleccione Ninguno. ¿Es eso lo que estás buscando?
@fsb No, quiero abrir la aplicación en silencio, es decir, sin cambiar a un escritorio diferente.
Si está en el escritorio 2 y luego hace clic en el ícono de Chrome, tiene que cambiar al escritorio 1 porque asignó Chrome al escritorio 1. Creo que desea que se abra en el escritorio 1 mientras permanece en el escritorio 2 en un aplicación diferente. ¿Es eso correcto?
@fsb ¡sí, exactamente! eso es lo que estoy buscando
¡Excelente! Para evitar que se pierda esa información, le recomendaría que edite su pregunta para incluir exactamente lo que está sucediendo ahora y exactamente lo que desea que suceda. No sé cómo solucionar este problema para usted, así que espero que alguien más lea lo que quiere y le brinde una buena respuesta.
No estoy seguro acerca de la parte de "apertura silenciosa", pero si solo desea evitar que lo cambien al otro escritorio, puede deshabilitar "Al cambiar de aplicación, cambie a un espacio con ventanas abiertas para esa aplicación" en Preferencias del sistema> Control de la misión, al menos como una solución temporal.
@aaplmath desafortunadamente, esta opción no tiene efecto... ¿lo intentó con una aplicación que está asignada a otro escritorio? ¿Qué versión de macOS usas?
Esto parecía prometedor - cnet.com/uk/news/… - sin embargo, no parece funcionar en El Capitan :/
@Tetsujin genial! esto parece funcionar ... podría publicar esto como respuesta. Solo un pequeño problema a tener en cuenta es que la aplicación no se puede cerrar correctamente, es decir, su proceso aún está presente después de cerrarla.

Respuestas (3)

De los comentarios, ya que esto parece funcionar para el OP, aunque no pude hacerlo funcionar yo mismo, en El Capitán.

De Evite que las aplicaciones roben el foco al abrir en OS X - por Topher Kessler [al menos tiene un buen pedigrí, pero es de 2011]

Para tener un programa siempre abierto en segundo plano, deberá editar una lista de propiedades en el paquete del programa y agregar un par de líneas al archivo. Para hacer esto, siga estas instrucciones:

  1. Localice el archivo del paquete de la aplicación para el programa en cuestión.

  2. Haz clic con el botón derecho y selecciona "Mostrar contenido del paquete".

  3. Navegue hasta el directorio "Contenido" dentro de la aplicación y abra el archivo "Info.plist" en un editor de texto.

  4. Agregue las siguientes líneas al archivo (la ubicación más fácil es colocarlas inmediatamente después de la <dict>etiqueta, antes de la primera <key>etiqueta en la parte superior del documento):

    <key>LSBackgroundOnly</key>
    <string>True</string>
    
  5. Guarde y cierre el archivo y cierre las ventanas del paquete de la aplicación.

Después de hacer esto, el programa ahora debería iniciarse detrás de otros en todo momento, y luego solo se traerá al frente si hace clic en una ventana para el programa. Como advertencia, la edición del contenido de las aplicaciones romperá su firma de código, que es necesaria para que algunas aplicaciones funcionen automáticamente con los servicios del sistema, como el firewall de la aplicación. Sin una firma de código intacta, el sistema siempre puede pedirle que permita aplicaciones a través del firewall cuando se inician, lo que puede ser un inconveniente. Además, es posible que esto no funcione para todas las aplicaciones, pero no puede eliminar fácilmente las líneas agregadas para restaurar la funcionalidad completa del programa.

La segunda opción para afectar un programa de inicio es desarrollar un script que lo inicie en segundo plano. Lo básico para este script es usar el comando de terminal "abrir", con el indicador "-g" de la siguiente manera (usando iCal como ejemplo):

open -g /Applications/iCal.app

Como alternativa a proporcionar el nombre completo de la ruta a la aplicación, también puede usar el indicador "-a" y luego proporcionar solo el nombre de la aplicación, como el siguiente:

open -ga iCal

Con estos comandos, puede configurar un iniciador para sus programas usando AppleScript o Automator, donde el script ejecuta este comando como un script de shell para apuntar a la aplicación de su elección. Por ejemplo, para crear una secuencia de comandos que siempre iniciará iCal en segundo plano, abra Automator y cree un nuevo flujo de trabajo de la aplicación. Luego agregue la acción "ejecutar secuencia de comandos de shell" al flujo de trabajo y pegue uno de los comandos anteriores en el campo de secuencia de comandos de la acción. Luego guarde el flujo de trabajo y cuando lo ejecute, iCal debería abrirse detrás de su aplicación actual.

Una advertencia parece ser que la aplicación no se puede cerrar correctamente, es decir, su proceso aún está presente después de cerrarla.

Lo he intentado en Yosemite pero no en Sierra, pero podrías intentar deshabilitar el cambio automático de escritorio.

Abra la terminal e ingrese:

defaults write com.apple.dock workspaces-auto-swoosh -bool NO

reinicie el muelle con

killall Dock

Para volver al tipo de configuración predeterminada

defaults write com.apple.dock workspaces-auto-swoosh -bool YES
killall Dock
gracias por la respuesta, pero eso ya lo probé.. parece que esta opción no se tiene en cuenta para nada. ¿Otra configuración podría sobrescribir esta opción?
¿Intentaste abrir una aplicación asignada? ¿Y no estabas autoencendido en Yosemite?
@andy: ¿No crees que sería útil mencionar lo que ya intentaste?
probablemente sí, pero supongo que tanta información asustaría a algunas personas

Obtengo el rendimiento que desea utilizando la opción 'ninguno' al asignar una aplicación a un escritorio. Pero si la aplicación está abierta en otro escritorio, será redirigido a ese escritorio si intenta abrir otra instancia de la aplicación. No conozco una solución para esto. Solo asegúrese de no abrir la aplicación en un escritorio que no sea el que desea. Si hay una solución para esto, tal vez otro respondedor lo sepa.

sí, una vez que la aplicación se abre y se asigna a un escritorio específico, puedo lograr este comportamiento, por ejemplo, en open -nF /Applications/Google\ Chrome.app/una Terminal en otro escritorio. Pero no quiero tener la aplicación siempre funcionando.
Claro, solo asegúrese de abrirlo solo desde el escritorio correcto. No tengo la opción con Sierra para elegir un escritorio para asignarlo también.
Oh, espera, tengo la opción de elegir a qué escritorio asignarlo. Puede ir a un determinado escritorio y luego usar asignar a este escritorio. Lo siento
sí, pero el problema persiste si hace clic dos veces en el icono de la aplicación. En realidad, quiero abrir y cerrar una aplicación en un espacio de escritorio diferente... pero aún queda mucho camino por recorrer.