Das Verhalten des Befehls „Öffnen“ des macOS Big Sur Terminals hat sich geändert und ich weiß nicht, wie ich zu Catalina zurückkehren kann

Ich habe mein macOS auf Big Sur 11.0.1 aktualisiert und es scheint, dass sie die Art und Weise geändert haben, wie openBefehle oder vielmehr Startdienste in dieser Version funktionieren.

Ich habe verschiedene Versionen/Releases meiner Software auf meinem Computer in separaten Ordnern. Name meiner .app ist some-app.app(Beispiel). Wenn ich diese App damit ausführe, open some-app.appfunktioniert dies einwandfrei und führt meine Anwendung aus.

Wenn ich jetzt in meinem Terminal zu einem anderen Ordner mit demselben .app-Namen navigiere und versuche, denselben Befehl zu verwenden, wird tatsächlich der vorhandene Ordner aufgerufen, der bereits ausgeführt wird. Dies ist falsch, da es sich um zwei verschiedene Instanzen der App handelt.

Ich habe versucht, einen von ihnen umzubenennen, weil ich dachte, dass dies etwas damit zu tun haben könnte, aber kein Glück, es wird immer noch eine bereits geöffnete Anwendung angezeigt.

Bitte beachten Sie, dass ich auch den Prozess COMMAND mit überprüft habe ps auxund der Befehl der ersten App eindeutig auf den richtigen Ordner und den richtigen Namen zeigt - was sich von der zweiten Instanz unterscheidet, die ich auszuführen versuche.

Ich bin mir auch der Tatsache bewusst, dass ich meine App aus Contents/MacOSdem Ordner innerhalb des Pakets ausführen könnte, aber das ist nicht die Lösung, nach der ich suche.

Irgendwelche Ideen, was sich von Catalina geändert haben könnte, dass dies passiert?

Kein Unix-Typ, aber was ist, wenn Sie die zweite Version öffnen, indem Sie die eigentliche ausführbare Datei im .app-Paket angeben: someapp.app/Contents/MacOS/someapp und möglicherweise dem Pfad zu der App, die Sie laden möchten, ein "./" voranstellen? " ?
Hallo Steve, danke für den Vorschlag. Das funktioniert, ABER das bedeutet, dass Sie stdout/err zum Terminal bekommen, was ich nicht will. Auch wenn Sie versuchen, STRG + C zu tun, würde die App anhalten. Ich habe Automatisierungsskripte, die verwenden open -W some.app, und diese sind jetzt aus diesem Grund kaputt.
Nun, teilweise gute Nachrichten, aber ich habe das Niveau meiner Kompetenz erreicht. Vielleicht möchten Sie Ihrer ursprünglichen Frage und den Ergebnissen hinzufügen, was Sie gerade versucht haben, damit die Leute es einfacher lesen und Lösungen für Ihr Problem anbieten können.
Ich habe Big Sur noch nicht installiert. Hast du mal nachgeschaut man openob sich was geändert hat? Möglicherweise gibt es eine neue Option für das, was Sie erreichen möchten.
Was passiert auch, wenn Sie die verwenden open -n ..., die eine zweite Instanz starten soll ?
Scheint open -n ...eine Lösung zu sein. Ich bin mir nicht sicher, ob es in Zukunft Probleme damit geben wird, aber ich werde es vorerst verwenden. Danke schön!

Antworten (1)

Im Moment scheint das open -n someapp.appdie Lösung gewesen zu sein. Ich bin mir nicht sicher, ob ich später auf Probleme stoßen werde, bei denen ich diesen Befehl nicht verwenden kann, aber er funktioniert im Moment.

Danke @nohillside für die Idee.

UPDATE: Was ich getan habe, ist alias open="open -n"und es scheint bisher, dass dies jetzt genauso funktioniert wie vor Big Sur :)

Die Option -nermöglicht es tatsächlich, eine App zu starten, wo dies -aallein nicht der Fall ist (nur Big Sur). Ich würde jedoch niemals einen Alias ​​dafür machen. Dies könnte viele Skripte, die Sie nicht kennen, stillschweigend beschädigen.