Wie öffne ich neue Fenster als separate Anwendungsinstanzen für Chrome, Terminal?

Beim Wechsel von Linux (OpenBox WM) zu MBP habe ich Mühe, das Produktivitätsniveau wiederherzustellen, an das ich gewöhnt war ... Eine bestimmte Sache, die es umbringt, ist OSXs Beharren darauf, zwischen "Anwendungen" und "Fenstern" zu trennen und unterschiedliche Schlüssel zuzuweisen Combos zum Umschalten zwischen beiden, jede mit ihrem eigenen Rotationsverhalten (seufz). Dies wird noch schlimmer, da OSX darauf besteht, alle Fenster von Anwendung X in den Vordergrund zu bringen, wenn ich zu ihr wechsle. Ich stoße oft auf Situationen, in denen ich zwei oder mehr Chrome-Fenster und zwei oder mehr Terminal-Fenster habe, wobei jede Gruppe den gesamten Desktop-Bereich umfasst, aber ich kann nicht gleichzeitig eines von beiden vorne haben.

Andere Einschränkungen: Ich möchte Fenster nicht in separate Arbeitsbereiche (oder wie auch immer das heißt) verschieben, nur damit ich damit arbeiten kann. Ich ziehe es vor, die Maus nicht zu benutzen, bin aber bereit, dies zu tun, wenn das mein Problem löst (im obigen Fall nicht).

Eine Sache, die mein Problem lösen könnte, ist die Möglichkeit, neue Fenster der Anwendungen, die mir wichtig sind (Chrome, Terminal), als separate Instanzen zu starten. Dadurch kann ich beliebig zwischen ihnen wechseln, ohne sie alle nach vorne zu zwingen.

Kennt jemand eine Möglichkeit, das in Yosemite zu tun? Vielen Dank!

Um ehrlich zu sein, wechseln Sie zurück zu Linux :-) Ich habe seit Monaten die gleichen Probleme wie Sie und konnte es auch nicht lösen. Hast du es endlich geschafft?

Antworten (4)

Sie können die folgende Syntax mit dem openBefehl ausprobieren:

open -na "Google Chrome"

where -nparameters öffnet eine neue Instanz, auch wenn bereits eine läuft.

Durch Hinzufügen von Extras --user-data-dirwird die Instanz im separaten Profilverzeichnis gestartet, z

open -na "Google Chrome" --args --user-data-dir="$PWD/Foo"

Und mit --profile-directorykönnen Sie den Standardprofilnamen ändern.

Dies öffnet definitiv ein neues Fenster, aber ich kann nicht sagen, wie es sich um eine neue Instanz handelt. Ich hatte erwartet, dass im Task-Switcher mehrere Chrome-Symbole vorhanden sind. Am Ende habe ich eine App gefunden, die etwas Ähnliches macht: bahoom.com/hyperswitch
Ich bin mir nicht sicher, warum Ihr System keine neue Instanz anzeigt. Wenn ich eine neue Instanz mit open -nSafari oder Forklift (als Beispiel) beginne, werden sie im Dock und im App-Umschalter als neue Versionen (sowie im Aktivitätsmonitor) angezeigt. Wenn Sie nach einem alternativen App-Umschalter suchen, ist Witch by Many Tricks möglicherweise genau das Richtige für Sie. Es ermöglicht das Umschalten sowohl per App als auch per Fenster.
Ahh, das scheint etwas anderes in Bezug auf Chrome zu sein … mehrere Apps auf meinem System (iTerm, Safari, Forklift) beginnen neue Instanzen, aber Chrome scheint die neue Instanz zu schlucken (der Aktivitätsmonitor zeigt opendann eine neue Instanz an, wenn der Befehl ausgeführt wird es verschwindet schnell und das neue Fenster wird zu einem Unterprozess der ursprünglichen Chrome-Instanz).

Ok, eine vollständige Antwort für den allgemeinen Fall und speziell für Chrome:

Für die meisten Anwendungen sollte das Starten mit open -naF "App Name"oder open -nF /path/to/application.appausreichen (siehe Safari, Forklift, Office-Apps usw.).

  • -nöffnet eine neue Instanz
  • -aweist openan, in der Liste der registrierten Apps nachzusehen (keine Notwendigkeit, den vollständigen Pfad anzugeben, kann aber schief gehen, wenn Sie mehrere Versionen einer App haben. Ich sehe manchmal Probleme auf meinem System mit der Unterscheidung zwischen macOS-Apps und Apps, die von Parallels-Betriebssystemen installiert wurden… Ich ziehe es vor, den Pfad direkt anzugeben.)
  • -Föffnet eine neue Instanz (ignoriert einen App-Speicherstatus, der von vorherigen Instanzen übrig geblieben ist)

Für Google Chrome ist etwas anderes erforderlich (geändert von der Quelle in diesem Blogbeitrag ). Chrome muss von der Befehlszeile mit dem --user-data-dir=/tmp/dirgesetzten Flag gestartet werden "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"(geben Sie Ihr eigenes Verzeichnis an… wenn Sie nur zwei Instanzen benötigen, ist es wahrscheinlich am besten, ein dauerhaftes zweites Zuhause zu erstellen, aber wenn Sie eine beliebige Anzahl benötigen, erstellen Sie am besten eine Shell-Funktion, die das erstellt ein zufälliges temporäres Verzeichnis und löscht es beim Beenden).

Die Verwendung dieser Methode führt zu mehreren Chrome-Instanzen auf meinem Computer und verhindert, dass Chrome sie unter demselben Masterprozess konsolidiert.

Übrigens möchten Sie vielleicht zusätzliche Flags in Ihre Shell-Funktion zum Starten von Chrome einbauen … eine umfangreiche (automatisch aktualisierte) Liste finden Sie hier .

Einfachste Methode ist der open -nBefehl

z.Bopen -n /Applications/Chrome.app/

Vielen Dank. Dies hatte leider nicht den erwarteten Effekt... Bei Chrome öffnete es zwar ein neues Fenster, aber es war an die bereits laufende Instanz gebunden. Mit Terminal wurde eine neue Instanz erstellt, die die Fenster der laufenden Instanz (auf sehr verrückte Weise) replizierte. Ich bin mir nicht sicher, wie ich hier vorgehen soll, weitere Ratschläge sind willkommen.
Danach bin ich mir nicht mehr sicher, sorry. Ich benutze nur Leerzeichen und wechsle zwischen funktionierenden Setups, je nachdem, was ich tue.
Das Replikationsverhalten hängt wahrscheinlich mit der Resume-Funktion zusammen, die in OS X 10.7 eingeführt wurde. Sie können es mit dem Befehl pro App deaktivieren defaults write, oder Sie können das -FFlag mit open( z. B. open -nFa "Terminal" ) verwenden, um eine "frische" Instanz einer App zu öffnen (überprüfen Sie die manSeite auf geöffnet).

Sie müssen (irgendwann) die Anwendung vom Terminal aus ausführen.

Sie können entweder den open -nBefehl von Terminal verwenden (wie von @Tetsujin erwähnt) oder Sie können innerhalb des Anwendungspakets auf die ausführbare Datei klicken (normalerweise in Application/Contents/MacOS/)