Так как я установил Firefox Quantum и Firefox ESR 52 оба (Надежный человек Kubuntu / KDE 4.13.3), это происходит каждый раз, когда любая внешняя ссылка на сайт открыта дважды в моем браузере по умолчанию. Таким образом, я предполагаю, что это - системная проблема и не проблема Firefox.
Единственные вещи, которые я изменил вручную, состоят в том, что я включил персональные исполняемые сценарии "/usr/bin /" и "~ / мусорное ведро /" и изменил браузер по умолчанию так, чтобы я не путал с обеими установками Firefox.
Так "/usr/bin /" содержит "firefox-esr" и "firefox.real" (для Quantum), который оба - просто ссылки на файлы запуска согласно папкам программы в "/usr/lib /". Кроме того, это содержит сценарий "Firefox", который мог бы быть причиной моей проблемы, но я не вижу его.
Вот "/usr/bin/firefox" сценарий:
#!/bin/sh
FIREFOX="$(which firefox)"
[ -x "$FIREFOX.real" ] && exec "$FIREFOX.real" "$@"
exec firefox-esr "$@"
→ который сообщает "~/bin/firefox", и "firefox.real" существует и в "/usr/bin /" и в "~ / мусорное ведро /" каталоги как ссылки на сценарий (см. ниже).
Вот "/usr/bin/firefox.real" сценарий:
#!/bin/sh
set -e
MOZ_LIBDIR=/usr/lib/firefox
MOZ_APP_LAUNCHER=`which $0`
MOZ_APP_NAME=firefox
export MOZ_APP_LAUNCHER
while [ ! -x $MOZ_LIBDIR/$MOZ_APP_NAME ] ; do
if [ -L "$MOZ_APP_LAUNCHER" ] ; then
MOZ_APP_LAUNCHER=`readlink -f $MOZ_APP_LAUNCHER`
MOZ_LIBDIR=`dirname $MOZ_APP_LAUNCHER`
else
echo "Can't find $MOZ_LIBDIR/$MOZ_APP_NAME"
exit 1
fi
done
usage () {
$MOZ_LIBDIR/$MOZ_APP_NAME -h | sed -e 's,/.*/,,'
echo
echo " -g or --debug Start within debugger"
echo " -d or --debugger Specify debugger to start with (eg, gdb or valgrind)"
echo " -a or --debugger-args Specify arguments for debugger"
}
moz_debug=0
moz_debugger_args=""
moz_debugger="gdb"
while [ $# -gt 0 ]; do
case "$1" in
-h | --help )
usage
exit 0
;;
-g | --debug )
moz_debug=1
shift
;;
-d | --debugger)
moz_debugger=$2;
if [ "${moz_debugger}" != "" ]; then
shift 2
else
echo "-d requires an argument"
exit 1
fi
;;
-a | --debugger-args )
moz_debugger_args=$2;
if [ "${moz_debugger_args}" != "" ] ; then
shift 2
else
echo "-a requires an argument"
exit 1
fi
;;
-- ) # Stop option processing
shift
break
;;
* )
break
;;
esac
done
if [ $moz_debug -eq 1 ] ; then
case $moz_debugger in
memcheck)
debugger="valgrind"
;;
*)
debugger=$moz_debugger
;;
esac
debugger=`which $debugger`
if [ ! -x $debugger ] ; then
echo "Invalid debugger"
exit 1
fi
case `basename $moz_debugger` in
gdb)
exec $debugger $moz_debugger_args --args $MOZ_LIBDIR/$MOZ_APP_NAME "$@"
;;
memcheck)
echo "$MOZ_APP_NAME has not been compiled with valgrind support"
exit 1
;;
*)
exec $debugger $moz_debugger_args $MOZ_LIBDIR/$MOZ_APP_NAME "$@"
;;
esac
else
exec $MOZ_LIBDIR/$MOZ_APP_NAME "$@"
fi
В дополнение к ним я хотел добавить свои персональные исполняемые файлы переопределения под "~ / мусорное ведро /". Здесь я повторно связал "Firefox" и "firefox.real" к "./firefox-quantum", который позволяет мне выполнить это с отдельным профилем – "~/bin/firefox-quantum":
#!/bin/bash
/usr/bin/firefox.real -no-remote -P "########.default-quantum" "$@"
Согласно этому я сделал то же с "~/bin/firefox-esr", который является моим браузером по умолчанию (для профиля по умолчанию):
#!/bin/bash
/usr/bin/firefox-esr "$@"
Команда браузера по умолчанию теперь:
firefox-esr -new-tab %u
Почему внешние ссылки на сайт открыты дважды? Я не могу найти проблему.
Причиной мог бы быть "/usr/bin/firefox" сценарий? Разве это не должно запускать Firefox дважды, потому что существует причины "firefox.real" и таким образом, это должно запустить "firefox.real" И "firefox-esr"? Или разве я не понял исполнительную команду?