网络链接打开两次

网络链接打开两次

由于我安装了Firefox 量子Firefox ESR 52两个都 (Ubuntu Trusty/KDE 4.13.3) 每次在我的默认浏览器中打开任何外部 Web 链接两次时都会发生这种情况。因此,我推测这是系统问题,而不是 Firefox 问题。

我手动更改的唯一内容是我在“/usr/bin/“ 和 ”〜/ bin /“并更改了默认浏览器,这样我就不会混淆两个 Firefox 安装。

所以 ”/usr/bin/“包含”Firefox ESR“ 和 ”火狐浏览器“(对于 Quantum)它们都只是指向相应程序文件夹的启动文件的链接”/usr/lib/“。此外,它还包含一个脚本”火狐“这可能是导致我的问题的原因,但我看不到它。

这里是 ”/usr/bin/firefox“ 脚本:

#!/bin/sh
FIREFOX="$(which firefox)"
[ -x "$FIREFOX.real" ] && exec "$FIREFOX.real" "$@"
exec firefox-esr "$@"

哪个报告“~/bin/firefox”和“firefox.real”在“/usr/bin/”和“~/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

除此之外,我还想在“〜/ bin /“。我在这里重新链接”火狐“ 和 ”火狐浏览器“ 到 ”./firefox-quantum“这让我可以用一个单独的配置文件来运行它——”〜/ bin / Firefox的量子“:

#!/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 ESR“?或者我没理解执行命令?

相关内容