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

이제 firefoxLinux 29.0에서 실행됩니다.

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

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

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

#!/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

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

관련 정보