Soru:
Her biri ayrı bir profil çalıştıran iki farklı Firefox örneği açmak ve bunu her seferinde yapmak mümkün mü? firefox -P <profile name>
çalıştırıldığında, aynı profilde çalışan zaten çalışan örneğe bağlanır (başka bir örnek oluşturmak yerine)?
Son hedefim Firefox için iki farklı simgeye sahip olmaktır (biri ilk profil için diğeri diğeri için) ve her profilin tamamen ayrı bir program gibi davranmasını sağlamak. Başka bir deyişle, herhangi bir simgeye tıkladığımda, normalde olduğu gibi davranmasını istiyorum (tabii ki o profili kullanarak) ve diğer örneğin / profilin varlığını bile kabul etmiyorum. Diğer simgeye tıkladığımda da aynı şeyin olmasını istiyorum: Diğer örnek / profil yokmuş gibi davranmasını istiyorum.
Araştırma:
Bu çalışmayı sağlamak için bir kabuk betiği ile süslü bir şey yapmaya çalıştım. Belirtilen profille çalışan bir işlem olup olmadığını kontrol eder. Bir bulursa, çalışacak /usr/bin/firefox-bin -P $profile
. Olmazsa, çalıştırarak yeni bir örnek oluşturacaktır. /usr/bin/firefox -new-instance -P $profile
.
$ cat /usr/local/bin/firefox
#!/bin/bash
firefox=/usr/bin/firefox-bin
profile_running() {
ps -Af | grep -v grep | grep firefox | grep -q -- "-P $1"
}
profile=$1
shift
if profile_running $profile; then
$firefox $*
else
$firefox -new-instance -P $profile $*
fi
Teoride, eğer bunu koştuysam, çalışan bir Firefox örneğini kullanmam gerekirdi. -P first_profile
ve kullanarak çalışan bir Firefox örneği -P second_profile
. Birincisinin üç penceresi açık olmalı ve ikincisi iki penceresi açık olmalı:
/usr/local/bin/firefox first_profile &
/usr/local/bin/firefox second_profile &
/usr/local/bin/firefox first_profile &
/usr/local/bin/firefox second_profile &
/usr/local/bin/firefox first_profile
Ancak, aslında bulduğum şey istediğim şey değil. İyi haber şu ki, her profilin tam olarak çalışan bir örneği var. Ancak, "first_profile" örneğinde dört pencere açılır, "second_profile" örneğinde yalnızca bir tane olur.
İlk pencereden sonra yeni bir "second_profile" penceresi açmaya çalıştığımda, bunun yerine yeni bir "first_profile" penceresi alıyorum. Görünen o ki, Firefox’u kontrol etmeye zahmet etmiyor -P
Zaten çalışan bir örneğe ekleniyorsa parametre.
Sonuç:
Firefox'u sadece komut satırı argümanlarını kullanarak istediğim gibi davranmaya zorlamanın bir yolu olmadığı görüldüğünden, farklı bir eylem bulmam gerekiyor.
Ben çalıştırıyorum Firefox 33.0 (ikili paket) içinde Gentoo Linux (amd64) .