Ich habe mein macOS auf Big Sur 11.0.1 aktualisiert und es scheint, dass sie die Art und Weise geändert haben, wie open
Befehle 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.app
funktioniert 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 aux
und 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/MacOS
dem 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?
Im Moment scheint das open -n someapp.app
die 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 :)
-n
ermöglicht es tatsächlich, eine App zu starten, wo dies -a
allein 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.
Steve Kammern
David Delac
open -W some.app
, und diese sind jetzt aus diesem Grund kaputt.Steve Kammern
kein Hang
man open
ob sich was geändert hat? Möglicherweise gibt es eine neue Option für das, was Sie erreichen möchten.kein Hang
open -n ...
, die eine zweite Instanz starten soll ?David Delac
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!