firebird and thunderbird together -->Error launching brow

User Help for Mozilla Firefox
Post Reply
bloubi
Guest

firebird and thunderbird together -->Error launching brow

Post by bloubi »

I have a little problem to run firebird and thunderbird together!

I use KDE and on the taskbar I have a shortcut to a script who can run more instance of firebird.
This line in the script cause error :
exec $MOZ_CLIENT_PROGRAM "xfeDoCommand(openBrowser)" 2>/dev/null >/dev/n
ull

When he exec that I have the error:
Error launching browser window: TypeError:Component.classes['@mozilla.org/appshell/component/browser/instance;1'] has no properties

But if I run directely firebird (/usr/local/MozillaFirebird/MozillaFirebird) without the script I have no error but I cannot run another instance of firebird !


I have also seen that this error is cause only if thunderbird is already running and I try to run firebird !

For summerise:
One or more instance of firebird running + I run thunderbird --> OK
Thunderbird is running + I try to run an instance of firebird --> error launching browser window: TypeError ....


This is the script that I use for running more instance of firebird.

#!/bin/sh
cmdname=`basename $0`

## don't leave any core files around
ulimit -c 0

##
## Variables
##
MOZPATH="/usr/local/MozillaFirebird"
THUNDERPATH="/usr/local/thunderbird"
MOZ_DIST_BIN="$MOZPATH"
MOZ_PROGRAM="$MOZPATH/MozillaFirebird-bin"
MOZ_CLIENT_PROGRAM="$MOZPATH/mozilla-xremote-client"

##
## Set MOZILLA_FIVE_HOME
##
MOZILLA_FIVE_HOME="$MOZPATH"

export MOZILLA_FIVE_HOME

##
## Set LD_LIBRARY_PATH
##
if [ "$LD_LIBRARY_PATH" ]
then
LD_LIBRARY_PATH=$MOZPATH:$MOZPATH/plugins:$LD_LIBRARY_PATH:$THUNDERPATH
else
LD_LIBRARY_PATH=$MOZPATH:$MOZPATH/plugins:$THUNDERPATH
fi

export LD_LIBRARY_PATH

##
## Make sure that we set the plugin path for backwards compatibility
## Set MOZ_PLUGIN_PATH to $HOME/.mozilla/plugins if not set
##
export MOZ_PLUGIN_PATH=/usr/lib/mozilla/plugins

if [ "$HOME" ]; then
export MOZ_PLUGIN_PATH=$MOZ_PLUGIN_PATH:$HOME/.mozilla/plugins
fi

##
## Set FONTCONFIG_PATH for Xft/fontconfig
##
FONTCONFIG_PATH="/etc/fonts:${MOZILLA_FIVE_HOME}/res/Xft"
export FONTCONFIG_PATH

##
## Autodetect language
##
grep -q $HOME/.mozilla $HOME/.mozilla/appreg > /dev/null 2>/dev/null
SET_LANG=$?
if [ "$HOME" -a "$LANG" -a "$SET_LANG" != "0" -a -r "$MOZILLA_FIVE_HOME/chrome/locale.alias" ]; then
MOZ_LANG=`grep -E "^$LANG[[:space:]]" $MOZILLA_FIVE_HOME/chrome/locale.alias | tr -s [:blank:] | cut -f 2`
for i in "$@";do
[ "$i" = "-UILocale" ] && MOZ_LANG=""
done
if [ "$MOZ_LANG" -a -r "$MOZILLA_FIVE_HOME/chrome/$MOZ_LANG.jar" ]; then
MOZ_LANG="-UILocale $MOZ_LANG"
else
unset MOZ_LANG
fi
fi

# Figure out if we need to ser LD_ASSUME_KERNEL for older versions of the JVM.

function set_jvm_vars() {

# see if the jvm exists in either of the locations
if [ -L $MOZPATH/plugins/libjavaplugin_oji.so ]; then
JVM_ORIG_LINK=$MOZPATH/plugins/libjavaplugin_oji.so
fi

if [ -L /usr/lib/mozilla/plugins/libjavaplugin_oji.so ]; then
JVM_ORIG_LINK=/usr/lib/mozilla/plugins/libjavaplugin_oji.so
fi

if [ -z "$JVM_ORIG_LINK" ]; then
return;
fi

JVM_LINK=`perl -e "print readlink('$JVM_ORIG_LINK')"`

# is it relative? if so append the full path

echo "${JVM_LINK}" | grep -e "^/" 2>&1 > /dev/null

if [ "$?" -ne "0" ]; then
JVM_LINK=$MOZPATH/plugins/${JVM_LINK}
fi

JVM_BASE=`basename $JVM_LINK`
JVM_DIR=`echo $JVM_LINK | sed -e s/$JVM_BASE//g`
JVM_COMMAND=$JVM_DIR/java
if [ ! -r $JVM_COMMAND ]; then
JVM_DIR=${JVM_DIR}../../../bin/
JVM_COMMAND=$JVM_DIR/java
# does the command exist?
if [ ! -r "$JVM_COMMAND" ]; then
return
fi
fi

# export this temporarily - it seems to work with old and new
# versions of the JVM.
export LD_ASSUME_KERNEL=2.2.5
# get the version
JVM_VERSION=`$JVM_COMMAND -version 2>&1`

unset LD_ASSUME_KERNEL

JVM_VERSION=`echo $JVM_VERSION | grep version | cut -f 3 -d " " | sed -e 's/\"//g'`
case "$JVM_VERSION" in
(1.3.0*)
# bad JVM
export LD_ASSUME_KERNEL=2.2.5
;;
esac
}

function check_running() {
$MOZ_CLIENT_PROGRAM 'ping()' 2>/dev/null >/dev/null
RETURN_VAL=$?
if [ "$RETURN_VAL" -eq "2" ]; then
echo 0
return 0
else
echo 1
return 1
fi
echo 0
return 0
}

function open_mail() {
if [ "${ALREADY_RUNNING}" -eq "1" ]; then
exec $MOZ_CLIENT_PROGRAM 'xfeDoCommand(openInbox)' \
2>/dev/null >/dev/null
else
exec $MOZ_PROGRAM $MOZ_LANG $*
fi
}

function open_compose() {
if [ "${ALREADY_RUNNING}" -eq "1" ]; then
exec $MOZ_CLIENT_PROGRAM 'xfeDoCommand(composeMessage)' \
2>/dev/null >/dev/null
else
exec $MOZ_PROGRAM $MOZ_LANG $*
fi
}

# OK, here's where all the real work gets done
# set our JVM vars
set_jvm_vars

# check to see if there's an already running instance or not
ALREADY_RUNNING=`check_running`

# If there is no command line argument at all then try to open a new
# window in an already running instance.
if [ "${ALREADY_RUNNING}" -eq "1" ] && [ -z "$1" ]; then
exec $MOZ_CLIENT_PROGRAM "xfeDoCommand(openBrowser)" 2>/dev/null >/dev/null
fi
# if there's no command line argument and there's not a running
# instance then just fire up a new copy of the browser
if [ -z "$1" ]; then
exec $MOZ_PROGRAM $MOZ_LANG 2>/dev/null >/dev/null
fi

unset RETURN_VAL

# If there's a command line argument but it doesn't begin with a -
# it's probably a url. Try to send it to a running instance.
USE_EXIST=0
NEW_WINDOW=
opt="$1"
case "$opt" in
-mail)
open_mail ${1+"$@"}
;;
-compose)
open_compose ${1+"$@"}
;;
-*) ;;
*) USE_EXIST=1 ;;
esac

othersopt=
optlast=
for i in "$@";do optlast=$i;done #last arg
for i in "$@";do [[ $i == $optlast ]] && break; othersopt="$othersopt $i";done #others arg
#???: needs check if othersopt begin with -* ?

if [[ $optlast != *:/* && -e $optlast ]];then
[[ $optlast != /* ]] && optlast=file://$PWD/$optlast
elif [[ $optlast == *:/* || -n $othersopt ]];then #???? like before...
NEW_WINDOW=1
fi

if [ "${USE_EXIST}" -eq "1" ] && [ "${ALREADY_RUNNING}" -eq "1" ]; then
if [[ -z $NEW_WINDOW ]];then
exec $MOZ_CLIENT_PROGRAM $othersopt "openurl($optlast)" 2>/dev/null >/dev/null
else
exec $MOZ_CLIENT_PROGRAM $othersopt "openurl($optlast,new-window)" 2>/dev/null >/dev/null
fi
fi

exec $MOZ_PROGRAM $MOZ_LANG $othersopt "$optlast"





If you have an alternative method who allow to run thunderbird and more than one instance of firebird ...
Thanks


Sorry for my poor english ! It's not my native language.
bloubi
Guest

Post by bloubi »

The post his maybe not to the correct Topic !
If you have alsa a sugestion...
thanks
lpletch
Posts: 50
Joined: December 9th, 2003, 4:23 pm

Post by lpletch »

If you already have one instance of Firebird
You can press [ctrl] n to open a new instance.
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0
bloubi
Guest

Post by bloubi »

Yes, this may be a solution.
thanks
Post Reply