기본 프로필을 변경하지 않고 Firefox 프로필 관리자 사용

기본 프로필을 변경하지 않고 Firefox 프로필 관리자 사용

저는 다양한 용도로 다양한 Firefox 프로필을 사용합니다. (이것은 Firefox 16.0.2입니다.) 저는 일반적인 웹 브라우징에 사용하는 범용 프로필 하나와 기타 작업(예: 자바스크립트 해킹)에 사용하는 프로필을 가지고 있습니다. 내가 갖고 싶은 것은 두 가지 바로가기입니다. 하나는 범용 프로필을 여는 것이고 다른 하나는 다른 프로필 중에서 선택할 수 있도록 프로필 관리자를 여는 것입니다. 그러나 저는 범용 프로필을 기본값으로 설정하여 다른 프로그램이 링크를 열려고 하는데 Firefox 창이 열려 있지 않은 경우 항상 일반 프로필을 열도록 하고 싶습니다.

이 작업을 수행하는 방법을 알 수 없습니다. 프로필 관리자를 열면 "기본 프로필"의 현재 설정을 변경하지 않을 수 없는 것 같습니다.

예를 들어, "일반"과 "기타"라는 두 개의 프로필이 있다고 가정합니다. 프로필.ini를 보면 "일반"이 기본 프로필로 설정되어 있는 것을 볼 수 있습니다. 모든 것이 잘되고 좋습니다. 프로필 관리자 바로가기를 사용하여 프로필 관리자를 엽니다. "기타" 프로필을 선택하고 싶습니다. 하지만 "시작할 때 묻지 않음" 확인란이 있어서 내 스타일이 답답해졌습니다. 확인하면 "기타"가 열리고 이를 기본 프로필로 설정합니다. 확인하지 않으면 "일반" 프로필의 기본 설정이 제거되고 기본값이 없으므로 프로그램이 링크를 열려고 하면 프로필 관리자로 이동하게 됩니다. 이것들 중 어느 것도 내가 원하는 것이 아닙니다. 내가 원하는 것은 "다른" 프로필을 여는 것입니다"일반"을 기본값으로 두면서.

기본적으로 "시작 시 묻지 않음" 확인란은 프로필을 열고 기본값으로 설정하거나 프로필을 열고 기본 프로필이 없도록 만드는 두 가지 선택 사이를 강제하는 것으로 보입니다. 하지만 저는 세 번째 옵션을 원합니다. 기본 프로필을 이미 설정된 대로 그대로 두고 프로필을 여는 것입니다. 이 작업을 수행할 수 있는 방법이 있나요?

편집: 몇 가지 답변을 바탕으로 이를 명확히 하고 싶습니다.프로필당 하나의 바로가기를 원하지 않습니다.. 프로필이 아무리 많아도 나는 원한다정확히 2개바로가기: 항상 기본 프로필을 여는 것과 대화형으로 선택할 수 있는 것모두하지만 기본값으로 표시된 프로필은 변경되지 않습니다.

답변1

목표를 달성하는 유일한 방법은 다음과 같습니다.쓰기 방지profiles.ini초기 설정 후 파일 . 이렇게 하면 Firefox는 사용자가 설정한 대로 모든 것을 남겨두고 파일을 업데이트할 수 없습니다.

  1. 프로필을 설정하세요.
  2. 프로필 관리자에서 프로필을 선택하고 "시작 시 묻지 않음"을 선택하여 기본 프로필을 선택합니다.
  3. profiles.ini읽기 전용으로 표시하세요 .

이제부터 Firefox를 시작 -p하거나 -p "profile name"없이 시작하면 -p "profile path"항상 기본 프로필이 시작됩니다. 프로필 관리자 또는 -p스위치를 통해 프로필을 열면 프로필.ini를 변경할 수 없습니다.

분명히, 내용을 변경하거나 새 프로필을 만들려면 파일을 다시 쓰기 가능하게 만들어야 합니다. 그 외에는 괜찮을 것입니다.

답변2

Firefox Portable(http://portableapps.com), USB 드라이브가 아닌 새로운 위치의 하드 드라이브에 설치합니다. 내가 하는 방법은 다음과 같습니다. (원하는 대로 조정할 수는 있지만) 표준 설치를 그대로 두십시오. 휴대용 폴더를 두 번째 위치에 복제합니다. 웹사이트에 설명된 대로 첫 번째 프로필 데이터를 휴대용 폴더 "DATA" 하위 폴더에 복사하고 두 번째 프로필을 두 번째 새로운 휴대용 "DATA" 하위 폴더(FirefoxPortable.EXE가 포함된 폴더 아래 폴더)에 복사하세요. 각 FirefoxPortable.EXE를 시작하고 올바르게 사용자 정의되었는지 확인하십시오(예: 애드온, 일반적인 방식의 플러그인 등). 짧은 이름을 원할 경우 선택적으로 FirefoxPortable.EXE의 이름을 FFP.EXE로 바꾸고 각 휴대용 설치 폴더의 FFP.EXE에 대한 두 개의 바로가기를 설정하세요. 저는 V6.0과 V25.0.1을 이런 식으로 사용했는데 잘 작동했습니다.

장점

  • 완전히 별도의 구성을 실행합니다(원하는 경우 다른 버전의 Firefox일 수도 있습니다). 예, Firefox 응용 프로그램을 복제하면 더 많은 디스크 공간을 차지하지만 관리하기가 더 쉽습니다.
  • 저는 약 30개의 애드온을 실행하고 있으며 휴대용 버전에는 아무런 문제가 없습니다.
  • 활성 및 비활성 애드온 모음이 있는 경우 애드온 충돌 문제를 해결하는 것이 더 쉽습니다. 폴더의 복제본을 가져와 기본 프로필을 망칠 필요 없이 켜진 단일 애드온만 테스트하는 데 사용하세요.

문제(Firefox가 기본 브라우저인 경우 적용)

  • 표준 설치를 그대로 두고 기본 브라우저로 설정
  • 프로파일 관리자 프롬프트를 기본값으로 사용하여 이전 표준 설치를 그대로 둡니다. (귀하의 경우 프롬프트 없이 "일반" 프로필로 이를 실행할 수 있습니다." 때때로 일부 응용 프로그램은 예상하지 못한 경우(예: URL을 여는 채팅 클라이언트) 및 사용자가 볼 때마다 이 기본 브라우저를 실행하려고 시도합니다. 프로필 프롬프트를 종료하고 바로가기를 통해 올바른 휴대용 버전을 시작하세요.
  • 이제 Firefox에는 3가지 버전이 있습니다. 파일에는 어떤 버전을 사용해야 할까요? 해결책은 *.url, *.htm[l] 또는 *.mht를 열기 전에 항상 바로가기에서 Firefox를 시작하는 것입니다. 그러면 활성 Firefox에서 올바르게 열립니다.
  • Firefox 동기화를 사용하는 경우 각 프로필의 이름을 서로 다른 "장치 이름"으로 지정하여 제대로 작동할 것으로 예상합니다. 예를 들어 모든 프로필에서 북마크를 동기화합니다.
  • 소프트웨어 업데이트를 수동으로 수행하므로 이를 권장합니다.

답변3

나는 귀하의 운영 체제가 무엇인지 모르지만 Unix 운영 체제를 사용하고 있다면 귀하가 원하는 것을 정확하게 수행하는 스크립트를 가지고 있을 수 있습니다(제가 귀하를 올바르게 이해했다면 이는 나에게도 꼭 필요한 동작이었습니다).

아이디어는 스크립트를 사용하여 "기타" Firefox를 시작하는 것입니다. 스크립트는 파일을 보고 기본 프로필을 결정한 profiles.ini다음 프로필 관리자를 사용하여 새 Firefox 인스턴스를 시작하고 결국 기본 프로필 구성이 변경되자마자 복원합니다. 약간 해킹되었지만 사용하고 있으며 잘 작동합니다.

Windows에서는 동등한 스크립트를 재현할 수 있지만 이 문제에 대해서는 도움을 드릴 수 없습니다.

다음은 파일에 저장하고 터미널이나 파일로 firefox-other.sh시작하는 스크립트입니다 . 처음에는 구성을 조정해야 할 수도 있습니다../firefox-other.sh.desktop

#!/bin/bash

# configuration
profiles=/home/jerome/.mozilla/firefox/profiles.ini
firefox=`which firefox`

# find current default profile
profile_regex="\[([^\[]+)\]"
name_regex="Name=([^$]+)"
default_regex="^Default=1"
while read line
do
    [[ $line =~ $name_regex ]]
    if [[ -n "${BASH_REMATCH[1]}" ]]
    then
        profile_name="${BASH_REMATCH[1]}"
    fi
    [[ $line =~ $profile_regex ]]
    if [[ -n "${BASH_REMATCH[1]}" ]]
    then
        default_profile="${BASH_REMATCH[1]}"
    fi
    [[ $line =~ $default_regex ]]
    if [ -n "${BASH_REMATCH[0]}" ]
    then
        break
    fi
done < $profiles

echo "Default profile is \"$profile_name\" [$default_profile]"
last_update=`stat -c %Y $profiles`

# restore default profile
function restore {
    on_default=0
    tmp="${profiles}.new"
    rm -f $tmp
    while read line
    do
        [[ $line =~ $profile_regex ]]
        if [[ "${BASH_REMATCH[1]}" = $default_profile ]]
        then
            on_default=1
        fi
        if [[ "$line$on_default" = 1 ]]
        then
            echo "Default=1" >> $tmp
            on_default=0
        fi

        # echo existing line unless it is the default declaration
        [[ $line =~ $default_regex ]]
        if [ -z "${BASH_REMATCH[0]}" ]
        then
            echo $line >> $tmp
        fi
    done < $profiles

    mv $tmp $profiles
    echo "Default profile restored to \"$profile_name\" [$default_profile]"
}

# start firefox with profile manager
echo -n "Start Firefox..."
$firefox -no-remote -P 2> /dev/null 1> /dev/null &
pid=$!
echo -e "\rFirefox started with pid $pid"

# loop until $profiles is changed or firefox instance killed
while true
do
    sleep 1

    # watch profiles
    update=`stat -c %Y $profiles`
    if [ $update -gt $last_update ]
    then
        # profiles updated
        break
    fi

    # watch instance
    if [ -n "`kill -0 $pid 2>&1`" ]
    then
        # instance terminate
        break
    fi

done

# then restore
restore

답변4

이를 위해 두 개의 프로필 이름을 사용하겠습니다. "일반"은 일반적인 사용 프로필입니다. "기타"는 JavaScript 해키입니다. 이를 따를 때 프로필 이름을 사용하십시오.

  1. 프로필 관리자를 열고 "일반"이 기본 프로필로 설정되어 있는지 확인하세요.
  2. Firefox 바로가기의 복사본을 만드세요. (이제 동일한 Firefox 단축키가 2개 생겼습니다.)
  3. 바로가기 중 하나의 이름을 "일반"으로 바꾸고 마우스 오른쪽 버튼 클릭 -> 속성으로 이동한 다음추가하다다음 문자열을목표:
    -P "General"
  4. 확인을 누르세요.
  5. 다른 바로가기의 이름을 "기타"로 바꾸고 마우스 오른쪽 버튼 클릭 -> 속성으로 이동한 다음추가하다다음 문자열을목표:
    -P "Other" -no-remote
  6. 확인을 누르세요.

이제 끝났습니다. 각 프로필에는 서로 다른 두 가지 바로가기가 있습니다. 기본 프로필은 "일반"이므로 프로그램은 해당 프로필의 바로가기를 엽니다. 이제주요 이점: 두 프로필을 동시에 사용할 수 있습니다! 다른 인스턴스와 창에서 열립니다.

관련 정보