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.
firebird and thunderbird together -->Error launching brow
-
- Guest