El comportamiento de 'abrir' del comando de macOS Big Sur Terminal cambió y no sé cómo volver a como estaba en Catalina

Actualicé mi macOS a Big Sur 11.0.1 y parece que cambiaron la forma en que openactúan los servicios de comando o lanzamiento en esta versión.

Tengo diferentes versiones/lanzamientos de mi software en mi máquina en carpetas separadas. El nombre de mi .app es some-app.app(ejemplo). Si ejecuto esta aplicación, open some-app.appentonces funciona perfectamente bien y ejecuta mi aplicación.

Ahora, si navego mi Terminal a una carpeta diferente con el mismo nombre de .app e intento usar el mismo comando, en realidad aparecerá el que ya se está ejecutando. Esto es incorrecto ya que se trata de 2 instancias diferentes de app.

Intenté cambiar el nombre de uno de ellos pensando que esto podría tener algo que ver con eso, pero no tuve suerte, todavía aparece la aplicación ya abierta.

Tenga en cuenta que también verifiqué el proceso COMMAND usando ps auxy el comando de la primera aplicación apunta claramente a la carpeta correcta y al nombre correcto, que es diferente a la segunda instancia que estoy tratando de ejecutar.

También soy consciente del hecho de que podría ejecutar mi aplicación desde Contents/MacOSuna carpeta dentro del paquete, pero esa no es la solución que estoy buscando.

¿Alguna idea de lo que podría haber cambiado de Catalina que esto está sucediendo?

No soy un tipo de Unix, pero ¿qué sucede si abre la segunda versión especificando el archivo ejecutable real dentro del paquete .app: someapp.app/Contents/MacOS/someapp y posiblemente anteponiendo la ruta a la aplicación que desea cargar con un "./ " ?
Hola Steve, gracias por la sugerencia. Eso funciona PERO eso significa que obtienes stdout/err en la terminal que no quiero. Además, si intentas hacer CONTROL+C, la aplicación se detendría. Tengo scripts de automatización que uso open -W some.appy ahora están rotos debido a esto.
Bueno, en parte buenas noticias, pero he llegado al nivel de mi competencia. es posible que desee agregar lo que acaba de intentar a su pregunta original y los resultados para que sea más fácil para la gente leer y ofrecer soluciones a su problema.
Todavía no tengo Big Sur instalado. ¿Has echado un vistazo man openpara ver si algo ha cambiado? Puede haber una nueva opción para lo que desea lograr.
Además, ¿qué sucede si usa open -n ...which debería iniciar una segunda instancia?
Parece que open -n ...podría ser la solución. No estoy seguro de si habrá problemas con él en el futuro, pero lo usaré por ahora. ¡Gracias!

Respuestas (1)

Por ahora parece que esa open -n someapp.appera la solución. No estoy seguro de si me encontraré con problemas más adelante en los que no pueda usar este comando, pero funciona en este momento.

Gracias @nohillside por la idea.

ACTUALIZACIÓN: Lo que he hecho es alias open="open -n"y parece hasta ahora que ahora funciona igual que antes de Big Sur :)

De hecho, la opción -npermite que se inicie una aplicación donde -asolo no lo hace (solo Big Sur). Sin embargo, nunca haría un alias para esto. Esto podría romper silenciosamente muchos scripts de los que no está al tanto.