我在 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
它,然后从软件中心安装它。