Chrome, Terminal에 대한 별도의 응용 프로그램 인스턴스로 새 창을 여는 방법은 무엇입니까?


18

Linux (OpenBox WM)에서 MBP로 이동하면서, 내가 사용했던 생산성 수준을 회복하기 위해 고군분투하고 있습니다. 그것을 죽이는 한 가지 구체적인 사실은 "애플리케이션"과 "윈도우"를 분리하고 다른 키를 할당하는 OSX의 주장입니다 콤보는 각각 고유 한 회전 동작 (한숨)을 가지고 있습니다. OSX는 전환 할 때마다 응용 프로그램 X의 모든 창을 앞으로 가져와야하기 때문에 더욱 악화 됩니다. 두 개 이상의 Chrome 창과 두 개 이상의 터미널 창이 있는데, 각 그룹이 전체 데스크톱 공간에 걸쳐 있지만 동시에 앞면에 하나를 둘 수는 없습니다.

다른 제약 조건 : 창을 별도의 작업 공간 (또는 호출 된 것)으로 옮기고 싶지 않아 작업 할 수 있습니다. 마우스를 사용하지 않는 것이 좋지만 문제가 해결되면 기꺼이 사용하십시오 (위의 경우에는 해당되지 않음).

내 문제를 해결할 수있는 한 가지는 내가 관심있는 응용 프로그램 (Chrome, Terminal)의 새 창을 별도의 인스턴스로 시작할 수 있다는 것입니다. 이렇게하면 모든 것을 강제로 앞쪽으로 강요하지 않고 임의로 전환 할 수 있습니다.

요세미티에서 그렇게하는 방법을 아는 사람이 있습니까? 많은 감사합니다!


1
솔직히 말해서 리눅스로 다시 전환하십시오 :-) 몇 달 동안 당신과 같은 문제가 있었고 그것을 해결할 수 없었습니다. 드디어 관리 했습니까?
flindeberg

답변:


15

opencommand를 사용하여 다음 구문을 시도 할 수 있습니다 .

open -na "Google Chrome"

여기서 -n매개 변수는 이미 실행중인 경우에도 새 인스턴스를 엽니 다.

추가를 추가 --user-data-dir하면 별도의 프로필 디렉토리에서 인스턴스가 시작됩니다. 예 :

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

그리고 --profile-directory당신은 기본 프로필 이름을 변경할 수 있습니다.


이것은 확실히 새로운 창을 열지 만 그것이 어떻게 새로운 인스턴스인지 말할 수는 없습니다. 작업 전환기에 여러 개의 Chrome 아이콘이있을 것으로 예상했습니다. : 나는까지이 비슷한 할 수있는 응용 프로그램 찾을 끝났다 bahoom.com/hyperswitch
kraftydevil

시스템에 새 인스턴스가 표시되지 않는 이유를 잘 모르겠습니다. open -nSafari 또는 Forklift를 사용하여 새 인스턴스를 시작하면 (예로) Dock 및 앱 스위처에 새 버전 (활동 모니터)으로 표시됩니다. 대체 앱 스위처를 찾고 있다면 Witch by Many Tricks가 원하는 것일 수 있습니다. 앱과 창별로 전환 할 수 있습니다.
더스틴 휠러

5
아, 이것은 Chrome과 다른 것으로 보입니다 ... 내 시스템의 여러 앱 (iTerm, Safari, Forklift)이 새 인스턴스를 시작하지만 Chrome이 새 인스턴스를 삼키는 것처럼 보입니다 ( open명령이 실행될 때 활동 모니터가 새 인스턴스를 표시 한 다음 빠르게 사라지고 새 창이 원래 Chrome 인스턴스의 하위 프로세스가됩니다).
더스틴 휠러

11

좋아, 일반적인 경우와 크롬에 대한 완전한 답변 :

대부분의 응용 프로그램의 경우 시작 open -naF "App Name"하거나 open -nF /path/to/application.app충분해야합니다 (Safari, Forklift, Office 앱 등 참조).

  • -n 새 인스턴스를 엽니 다
  • -a지시 open등록 된 애플리케이션 (전체 경로를 지정할 필요 목록에보고하지만, 앱의 여러 버전이있는 경우 잘못 될 수 있습니다. 가끔 맥 OS 애플리케이션을 구별하여 내 시스템에 문제를보고 패러랠 운영체제에서 앱을 설치 ... 경로를 직접 지정하는 것을 선호합니다.)
  • -F 새로운 인스턴스를 엽니 다 (이전 인스턴스에서 남은 앱 저장 상태는 무시 함)

Chrome의 경우 약간 다른 것이 필요합니다 ( 이 블로그 게시물의 소스에서 수정 됨 ). Chrome은 --user-data-dir=/tmp/dir플래그가 설정된 명령 줄에서 시작해야합니다 "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"(자신의 디렉토리를 지정하십시오 ... 영구적 인 두 번째 집을 만드는 것이 가장 좋지만 임의의 숫자가 필요한 경우 쉘 함수를 만드는 것이 가장 좋습니다) 임의의 임시 디렉토리를 작성한 다음 종료시 삭제합니다).

이 방법을 사용하면 내 컴퓨터에 여러 개의 Chrome 인스턴스가 생성되고 Chrome이 동일한 마스터 프로세스에서 인스턴스를 통합하지 못하게됩니다.

그건 그렇고, 크롬을 시작하기 위해 쉘 기능에 추가 플래그를 통합 할 수 있습니다 ... 광범위한 (자동 업데이트) 목록이 여기에 있습니다 .


2

가장 간단한 방법은 open -n명령입니다

예 : open -n /Applications/Chrome.app/


1
감사. 이것은 불행히도 예상되는 효과가 없었습니다 ... Chrome을 사용하면 실제로 새 창을 열었지만 이미 실행중인 인스턴스와 연결되었습니다. 터미널을 사용하여 실행중인 인스턴스의 창을 복제하는 새 인스턴스를 만들었습니다. 여기에서 진행하는 방법을 모르면 추가 조언을 부탁드립니다.
garnold

그 후에는 확실하지 않습니다. 죄송합니다. 나는 내가하고있는 것에 따라 스페이스를 사용하고 작업 설정 사이를 뒤집습니다.
Tetsujin

복제 동작은 OS X 10.7에 도입 된 재개 기능과 관련이있을 수 있습니다. 명령을 사용하여 앱별로 비활성화 defaults write하거나 -F플래그 open( open -nFa "Terminal" :)를 사용하여 앱의 "새"인스턴스를 열 수 있습니다 ( man페이지가 열려 있는지 확인 ).
더스틴 휠러

1

결국 최종적으로 터미널에서 응용 프로그램을 실행해야합니다.

open -n터미널 에서 명령을 사용하거나 (@Tetsujin이 언급 한대로) 응용 프로그램 패키지 내에서 실행 파일을 클릭 할 수 있습니다 (보통 Application/Contents/MacOS/)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.