Przechodząc z Linuksa (OpenBox WM) do MBP, walczę o odzyskanie poziomu wydajności, do którego byłem przyzwyczajony ... Jedną z konkretnych rzeczy, które go zabijają, jest naleganie OSX na oddzielanie „aplikacji” od „okien”, przypisywanie innego klucza kombinacje do przełączania między nimi, każde z własnym zachowaniem obrotowym (westchnienie). Sytuacja staje się jeszcze gorsza, ponieważ OSX nalega na przeniesienie wszystkich okien aplikacji X na przód za każdym razem, gdy się do niej przełączam. Często spotykam się z sytuacjami, w których mam dwa lub więcej okien Chrome i dwa lub więcej okien Terminala, z których każda obejmuje całą przestrzeń pulpitu, ale nie mogę mieć jednego z nich jednocześnie.
Inne ograniczenia: Nie chcę przenosić okien do oddzielnych obszarów roboczych (lub cokolwiek, co się nazywa), aby móc z nimi pracować. Wolę nie używać myszy, ale chętnie to zrobię, jeśli to rozwiąże mój problem (w powyższym przypadku nie będzie).
Jedną z rzeczy, które mogą rozwiązać mój problem, jest możliwość uruchamiania nowych okien aplikacji, na których mi zależy (Chrome, Terminal) jako osobnych instancji. Pozwoli mi to dowolnie przełączać się między nimi, nie zmuszając ich wszystkich do przodu.
Czy ktoś wie, jak to zrobić w Yosemite? Wielkie dzięki!
źródło
Odpowiedzi:
Możesz wypróbować następującą składnię za pomocą
open
polecenia:gdzie
-n
parametry otwierają nowe wystąpienie, nawet jeśli już działa.Dodanie dodatkowych
--user-data-dir
rozpocznie instancję w oddzielnym katalogu profilu, npZa pomocą
--profile-directory
możesz zmienić domyślną nazwę profilu.źródło
open -n
Safari lub Forklift (jako przykłady), pojawiają się one w Docku i przełączniku aplikacji jako nowe wersje (jak również w monitorze aktywności). Jeśli szukasz alternatywnego przełącznika aplikacji, Witch by Many Tricks może być tym, czego chcesz. Umożliwia przełączanie zarówno według aplikacji, jak i okna.open
polecenia, a następnie szybko znika, a nowe okno staje się podprocesiem oryginalnej instancji Chrome).Ok, pełna odpowiedź na ogólny przypadek, a konkretnie na Chrome:
W przypadku większości aplikacji uruchamianie za pomocą
open -naF "App Name"
lubopen -nF /path/to/application.app
powinno wystarczyć (patrz Safari, wózek widłowy, aplikacje Office itp.).-n
otwiera nową instancję-a
każeopen
zajrzeć na listę zarejestrowanych aplikacji (nie trzeba podawać pełnej ścieżki, ale może się nie powieść, jeśli masz wiele wersji aplikacji. Czasami widzę problemy w moim systemie z rozróżnianiem aplikacji macOS i aplikacji zainstalowanych przez systemy Parallels… Wolę określić ścieżkę bezpośrednio).-F
otwiera nową instancję (ignoruje stan zapisu aplikacji pozostały z poprzednich instancji)W przypadku Google Chrome wymagane jest coś nieco innego (zmodyfikowane ze źródła w tym poście na blogu ). Chrome musi zostać uruchomiony z wiersza poleceń z
--user-data-dir=/tmp/dir
ustawioną flagą"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
(określ własny katalog… jeśli potrzebujesz tylko dwóch instancji, prawdopodobnie najlepiej utworzyć stały drugi katalog główny, ale jeśli potrzebujesz dowolnego numeru, najlepiej utworzyć funkcję powłoki, która tworzy losowy katalog tymczasowy, a następnie usuwa go przy wychodzeniu).Użycie tej metody powoduje powstanie wielu wystąpień Chrome na moim komputerze i zapobiega ich konsolidacji przez Chrome w ramach tego samego procesu głównego.
Nawiasem mówiąc, możesz chcieć włączyć dodatkowe flagi do funkcji powłoki w celu uruchomienia Chrome… obszerna (automatycznie aktualizowana) lista jest dostępna tutaj .
źródło
Najprostszą metodą jest
open -n
poleceniena przykład
open -n /Applications/Chrome.app/
źródło
defaults write
polecenia lub możesz użyć-F
flagi za pomocąopen
( np.open -nFa "Terminal"
), Aby otworzyć „nową” instancję aplikacji (sprawdźman
stronę, czy jest otwarta).Ostatecznie będziesz musiał uruchomić aplikację z terminalu.
Możesz albo użyć
open -n
polecenia z terminala (jak wspomniano w @Tetsujin), albo możesz w pakiecie aplikacji kliknąć plik wykonywalny (zwykle wApplication/Contents/MacOS/
)źródło