Firefox 已从 Ubuntu 20.04 的应用程序菜单中消失

Firefox 已从 Ubuntu 20.04 的应用程序菜单中消失

我在 Ubuntu 20.04 上同时使用 Gnome 和 KDE Plasma。我使用 Plasma 中的“编辑应用程序”功能让 Firefox 开始使用我的专用显卡。我还使用 Plasma 中的 Discover 安装了某些更新(我通常不这样做)。以下是日志中的这些更新:

升级:grub-common:amd64(2.04-1ubuntu26.11、2.04-1ubuntu26.12)、ubuntu-advantage-tools:amd64(20.3、27.0.2~20.04.1)、grub2-common:amd64(2.04-1ubuntu26.11、2.04-1ubuntu26.12)、grub-pc:amd64(2.04-1ubuntu26.11、2.04-1ubuntu26.12)、grub-pc-bin:amd64(2.04-1ubuntu26.11、2.04-1ubuntu26.12)、grub-efi-amd64-bin:amd64(2.04-1ubuntu44, 2.04-1ubuntu44.2)、grub-efi-amd64-signed:amd64(1.167+2.04-1ubuntu44、1.167.2+2.04-1ubuntu44.2)

之后,我重新登录 Gnome,发现 Firefox 已从应用程序菜单和软件中心的“已安装”部分消失。我可以在软件中心搜索它,它显示它仍处于安装状态。我甚至可以从 /usr/share/applications 访问并启动它。我仍然可以在 KDE Plasma 上运行它。但在 Gnome 上,尽管卸载并重新安装了两次,它还是不会出现在应用程序菜单中。我甚至撤消了最初在 Plasma 上对专用显卡所做的操作,但这并没有什么不同。最后,我尝试使用软件中心在 Gnome 上卸载它,然后使用 Discover 从 Plasma 安装它,但这也无济于事。奇怪的是,我对其他三个应用程序的专用 GPU 进行了相同的设置更改,它们都很好,但 Firefox 就是不会出现在应用程序菜单中,所以我不确定问题是编辑应用程序引起的,还是因为我从 Discover 安装的更新引起的。我该如何解决这个问题?

更新:以下是我认为来自 /usr/share/applications/firefox.desktop 的相关内容:

Exec=firefox %u
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=firefox
Categories=GNOME;GTK;Network;WebBrowser;
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall;
StartupNotify=true
Actions=new-window;new-private-window;

我打开了 /usr/bin/firefox,这些是它的内容

#!/bin/sh

set -e

# Firefox launcher containing a Profile migration helper for
# temporary profiles used during alpha and beta phases.

# Authors:
#  Alexander Sack <[email protected]>
#  Fabien Tassin <[email protected]>
#  Steve Langasek <[email protected]>
#  Chris Coulson <[email protected]>
# License: GPLv2 or later

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

答案1

这里有一个解决针对此问题。就我而言,我只是运行sudo dpkg -P firefox它,然后从软件中心安装它。

相关内容