デフォルトのプロファイルを変更せずにFirefoxプロファイルマネージャーを使用する

デフォルトのプロファイルを変更せずにFirefoxプロファイルマネージャーを使用する

私はさまざまな用途に異なる Firefox プロファイルを使用しています。(これは Firefox 16.0.2 です) 通常の Web ブラウジングに使用する汎用プロファイルが 1 つあり、その他の用途 (JavaScript ハッキングなど) には他のプロファイルもいくつかあります。必要なのは 2 つのショートカットです。1 つは汎用プロファイルを開くショートカット、もう 1 つはプロファイル マネージャーを開いて他のプロファイルを選択できるようにするショートカットです。ただし、汎用プロファイルをデフォルトに設定して、他のプログラムがリンクを開こうとしたときに Firefox ウィンドウが開いていない場合は、常に汎用プロファイルが開くようにしたいです。

どうすればいいのかわかりません。プロファイル マネージャーを開くと、「デフォルト プロファイル」の現在の設定を変更せざるを得ないようです。

たとえば、「一般」と「その他」という 2 つのプロファイルがあるとします。profiles.ini を見ると、「一般」が既定のプロファイルとして設定されていることがわかります。すべて順調です。プロファイル マネージャーのショートカットを使用して、プロファイル マネージャーを開きます。「その他」プロファイルを選択したいのですが、「起動時に確認しない」というチェックボックスがあり、それが私のスタイルを妨げています。チェックすると、「その他」が開き、それが既定のプロファイルとして設定されます。チェックしないと、「一般」プロファイルの既定の設定が削除され、既定の設定がなくなるため、プログラムがリンクを開こうとすると、プロファイル マネージャーに移動します。どちらも私が望んでいるものではありません。私が望んでいるのは、「その他」プロファイルを開くことです。「一般」をデフォルトのままにしておく

基本的に、「起動時に確認しない」チェックボックスは、プロファイルを開いてそれをデフォルトとして設定するか、プロファイルを開いてデフォルト プロファイルがないようにするかの 2 つの選択肢を強制するようです。しかし、私は 3 番目のオプション、つまり、プロファイルを開いて、デフォルト プロファイルを既に設定されているままにしておくというオプションが欲しいです。これを実現する方法はありますか?

編集:いくつかの回答に基づいて、私はそれを明確にしたいプロファイルごとにショートカットを1つずつ作成したくないプロフィールがいくつあっても、ちょうど2つショートカット: 常にデフォルトのプロファイルを開くものと、対話的に選択できるもの全てプロファイルは変更されますが、デフォルトとしてマークされているプロファイルは変更されません。

答え1

目標を達成する唯一の方法はライトプロテクト初期設定後にファイルを保存しますprofiles.ini。こうすることで、Firefox はファイルを更新できなくなり、設定どおりにすべて残ります。

  1. プロファイルを設定します。
  2. プロファイル マネージャーでプロファイルを選択し、「起動時に確認しない」をチェックして、デフォルトのプロファイルを選択します。
  3. profiles.ini読み取り専用としてマークします。

今後は、-pまたは-p "profile name"なしで Firefox を起動すると-p "profile path"、常にデフォルトのプロファイルが起動します。プロファイル マネージャーまたはスイッチを介してプロファイルを開いても、-pprofiles.ini を変更することはできません。

当然ですが、変更を加えたり新しいプロファイルを作成したりするには、ファイルを再度書き込み可能にする必要があります。それ以外は問題ないはずです。

答え2

Firefoxポータブル(http://portableapps.com) から、USB ドライブではなく、新しい場所のハード ドライブにインストールします。私のやり方は次のとおりです (ただし、必要に応じて調整できます)。標準インストールはそのままにしておきます。ポータブル フォルダーを 2 番目の場所に複製します。Web サイトで説明されているように、最初のプロファイル データをポータブル フォルダーの「DATA」サブフォルダーにコピーし、2 番目のプロファイルを 2 番目の新しいポータブル「DATA」サブフォルダー (FirefoxPortable.EXE を含むフォルダーの下のフォルダー) にコピーします。各 FirefoxPortable.EXE を起動し、正しくカスタマイズされていることを確認します (例: 通常の方法でアドオン、プラグインなど)。オプションで、短い名前が好みの場合は、FirefoxPortable.EXE の名前を FFP.EXE に変更し、これらのポータブル インストール フォルダーの FFP.EXE のそれぞれに 2 つのショートカットを設定します。私はこの方法で V6.0 と V25.0.1 を使用しましたが、問題なく動作しました。

利点

  • 完全に別の構成を実行できます (必要に応じて、Firefox の異なるバージョンでも実行できます)。Firefox アプリケーションを複製すると、より多くのディスク領域が必要になりますが、管理が容易になります。
  • 私は約30個のアドオンを実行していますが、ポータブルバージョンでは問題はありませんでした。
  • アクティブなアドオンと非アクティブなアドオンのコレクションがある場合、アドオンの競合のトラブルシューティングはより簡単になります。フォルダーのクローンを作成し、メイン プロファイルを混乱させることなく、1 つのアドオンだけをオンにしてテストするだけです。

問題 (Firefox がデフォルトのブラウザの場合に適用)

  • 標準インストールをそのままにして、デフォルトのブラウザとして設定します
  • プロファイル マネージャー プロンプトをデフォルトとして、古い標準インストールのままにしておきます。(この場合は、プロンプトなしでこれを「一般」プロファイルとして実行できます)。予期しないときに一部のアプリケーションがこのデフォルト ブラウザーを起動しようとすることがあります (例: URL を開くチャット クライアント)。プロファイル プロンプトが表示されたら、終了してショートカットから適切なポータブル バージョンを起動します。
  • さて、現在 Firefox には 3 つのバージョンがありますが、ファイルにはどれを使用すればよいでしょうか? 解決策は、*.url、*.htm[l]、または *.mht を開く前に、常にショートカットから Firefox を起動することです。そうすれば、アクティブな Firefox で正しく開きます。
  • Firefox Sync を使用する場合、正常に動作させるために、各プロファイルに異なる「デバイス名」という名前を付けることをお勧めします。たとえば、すべてのプロファイル間でブックマークを同期します。
  • 私はソフトウェアの更新を手動で行いますが、それをお勧めします。

答え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

これには 2 つのプロファイル名を使用します。「一般」は通常使用のプロファイルです。「その他」は JavaScript のハッキング プロファイルです。これに従うときは、必ず自分のプロファイル名を使用してください。

  1. プロファイル マネージャーを開き、「一般」がデフォルトのプロファイルに設定されていることを確認します。
  2. Firefox ショートカットのコピーを作成します。(これで、同一の Firefox ショートカットが 2 つ作成されます)。
  3. ショートカットの1つを「一般」に名前変更し、右クリック -> プロパティに移動し、追加次の文字列を終わりターゲットの:
    -P "General"
  4. OKを押します。
  5. 他のショートカットの名前を「その他」に変更し、右クリック -> プロパティに移動し、追加次の文字列を終わりターゲットの:
    -P "Other" -no-remote
  6. OKを押します。

これで完了です。各プロファイルに2つの異なるショートカットがあります。デフォルトのプロファイルは「一般」なので、プログラムはそのプロファイルのショートカットを開きます。大きな利点: 両方のプロファイルを同時に使用できます。異なるインスタンスとウィンドウで開きます。

関連情報