Firefox를 사용하여 다른 프로필의 외부 링크를 어떻게 열 수 있나요?

Firefox를 사용하여 다른 프로필의 외부 링크를 어떻게 열 수 있나요?

별도의 프로필로 실행되는 두 개의 Firefox 인스턴스가 있습니다.

$ firefox -P default &
...
$ firefox -no-remote -P second &

이제 다음을 사용하여 명령줄에서 새 탭을 열 수 있습니다.

$ firefox -new-tab http://unix.stackexchange.com

그런데 두 번째 프로필에서 새 탭을 어떻게 열 수 있나요?

이것:

$ firefox -P second -new-tab http://unix.stackexchange.com

기본 프로필의 탭을 열고 다음을 수행합니다.

$ firefox -no-remote -P second -new-tab http://unix.stackexchange.com

해당 프로필에서 이미 실행 중인 인스턴스가 있다고 불평합니다.

답변1

이제 Linux의 29.0에서 작동합니다 firefox.

firefox다른 프로필로 두 번째 인스턴스를 열려면 다음 안내를 따르세요 .

firefox -P second -new-instance

firefox이미 실행 중인 의 두 번째 인스턴스에서 새 탭을 열려면 다음을 수행하세요 .

firefox -P second -remote "openurl(http://example.com,new-tab)"


보다버그 716110 - 기존 -no-remote 플래그에서 -new-instance 플래그를 분할합니다.추가 힌트(예: Hayo 게시물)

이 버그 보고서에 대한 설명에서 설명했듯이 첫 번째 창과 두 번째 탭을 같은 방식으로 여는 데 사용할 수 있는 명령이 누락되었습니다.

이는 다음 ( firefox-profile-instance) 라인을 따라 스크립트를 사용하여 수행할 수 있습니다.

#!/bin/bash

PROFILE="$1"
URL="$2"

if firefox -P "$PROFILE" -remote "ping()" >/dev/null 2>&1 ; then
    firefox -P "$PROFILE" -remote "openurl($URL,new-tab)"
else
    firefox -P "$PROFILE" -new-instance "$URL" &
fi

이제 기본 프로필을 사용하는 Firefox가 이미 실행 중인 동안
이를 처음 실행하면 "두 번째" 프로필을 사용하여 새 브라우저가 시작됩니다.

firefox-profile-instance second "http://example.com"

동일한 내용을 다시 실행하면 동일한 브라우저에서 두 번째 탭이 열립니다.

firefox-profile-instance second "http://example.com"

답변2

이 답변은 다음의 확장입니다.볼커 시겔위의 답변과 두 가지가 병합되어 기쁩니다. Firefox가 더 이상 -remote.

Firefox의 새 버전(버전 52에서 테스트됨)은 -new-instance원격 호출을 지원하는 새 인스턴스를 생성하는 옵션을 지원합니다. 인수가 주어지면 Firefox에 대한 후속 호출은 -P주어진 프로필 이름을 사용하여 실행 중인 Firefox 프로필에서 작업을 수행합니다.

생성과 링크 열기를 하나의 스크립트로 결합하려는 경우 pgrep아래와 같이 사용할 수 있습니다.

#!/bin/bash
profile=profile-name
if pgrep --full "^firefox-esr\b.*$profile" > /dev/null; then
    firejail --profile=$HOME/.firejail/firefox.jail.profile firefox -P "$profile" "$@" > /dev/null
else
    firejail --profile=$HOME/.firejail/firefox.jail.profile firefox -new-instance -P "$profile" "$@"
    disown $!
fi

(이 스크립트는 테스트되지 않았지만 내가 사용하는 스크립트에서 수정되었음을 경고)

답변3

님의 답변을 바탕으로@Att 오른쪽URL을 기반으로 올바른 프로필을 자동으로 선택하는 다음 솔루션을 개발했습니다.

이 래퍼 스크립트는 Mozilla Firefox 104.0이 설치된 Ubuntu Linux 20.04.6에서 테스트되었습니다.

#!/bin/bash

if [[ "$@" =~ .*"google."|"facebook.com"|"instagram.com".* ]] 
then
    profile=for_evil_sites
else
    profile=default
fi  

if pgrep --full "firefox\b.*$profile" > /dev/null; then
    /usr/bin/firefox -P "$profile" "$@" > /dev/null
else
    /usr/bin/firefox --new-instance -P "$profile" "$@" > /dev/null
    disown $!
fi

firefox예를 들어 in이라는 이름으로 스크립트를 저장 $HOME/bin/하고 표준 Firefox 대신 로드되는지 확인하세요. (디렉토리는 변수의 원래 디렉터리보다 앞에 있어야 합니다 $PATH.)

관련 정보