如何摆脱 /usr/share/applications 中的重复图标?

如何摆脱 /usr/share/applications 中的重复图标?

正如文件夹名称所示/usr/share/applications...这些都是我安装在系统中的应用程序吗?

删除下图中的程序图标是否意味着将其从系统中永久卸载?

例如,我看到亚马逊和奶酪图标两次……文件图标三次

/usr/share/applications 中的图标

/usr/share/applications 中的图标

这是新安装的 Ubuntu 18.04,我刚刚安装了 Audacious、MPV 播放器、Dconf 和 GNOME Tweaks。

我的意图:

  1. 我如何知道哪个图标是我必须保留的实际应用程序?例如,我想从系统中完全删除 Amazon。在两个 Archive Manager 图标中,我想保留实际工作的图标并删除另一个...
  2. 我如何知道可以通过命令行删除的应用程序的名称,例如

    sudo apt remove Amazon
    sudo apt remove Audacious Qt Interface 
    sudo apt remove Cheese-not-in-use
    sudo apt remove Files1-not-in-use  
    sudo apt remove Files2-not-in-use  
    

最终目标:

如果我只想要 Audacious、MPV 播放器、Dconf、Files、Cheese、InputMethod、Keyboard、Gparted、Displays、Dock、Disks、Calendar,那么我只想看到此文件夹中的 12 个图标。

这能实现吗?

答案1

桌面条目要么由应用程序创建,要么由用户根据自己的方便创建。并非所有桌面条目都引用应用程序。请记住,用户可能会创建脚本并使用桌面条目来运行。因此并非所有桌面条目都引用应用程序. 还要注意的是,并非所有桌面条目都采用/usr/share/applications

  • 这些都是我系统中安装的应用程序吗?

    如果所有这些都是由系统/应用程序本身创建的,那么很有可能。桌面条目是在安装软件时创建的(如果软件知道如何创建桌面条目,例如 Google Chrome 知道如何创建桌面条目,而 Netbeans 不知道)。

  • 删除下图中的图标,是否意味着将其从系统中永久卸载?

    不是。你只是删除了启动特定应用程序的方式(快捷方式)不是应用程序.desktop文件删除后仍会存在。

  • 如何知道哪个图标是我必须保留的实际应用程序

    您需要通过文本编辑器打开重复的桌面条目,并确定它提供哪些功能或它存在的目的。多个桌面条目必须在应用程序抽屉中创建多个快捷方式,但在这些多个桌面条目中,只有 1 个是可见的,其他所有条目都会由于NoDisplay=true其描述而被隐藏。这就是为什么应用程序抽屉中只有 1 个可见的原因。它还可能包含一行OnlyShownInNotShowIn在特定 DE 中显示或隐藏。您可以在以下位置了解更多信息桌面入门规格

  • 如何知道可以通过命令行删除的应用程序的名称

    有关此内容请参阅N0rbert 的回答

  • 如果我只想看到 Audacious、MPV player、Dconf、Files、Cheese、InputMethod、Keyboard、Gparted、Displays、Dock、Disks、Calendar,那么我只想看到这个文件夹中的 12 个图标。

    不可以。某些条目(例如蓝牙)是由系统定义的,因此在搜索时需要这些条目才能正确显示。

答案2

如果您按照 MacOS 的习惯来到这里,不要指望按Shift+ Delete就会删除东西。

在 Ubuntu 中,此文件夹包含许多*。桌面已安装应用程序的文件。

如果它们是由 APT 安装的,那么您可以使用的功能dpkg来管理它们。

因此,您可以通过以下方式找到亚马逊:

ls -1 /usr/share/applications/ | grep -i amazon

它将回归

com.canonical.launcher.amazon.desktop
ubuntu-amazon-default.desktop

之后你可以使用以下命令找到他们的包dpkg -S

dpkg -S com.canonical.launcher.amazon.desktop ubuntu-amazon-default.desktop
ubuntu-web-launchers: /usr/share/applications/com.canonical.launcher.amazon.desktop
ubuntu-web-launchers: /usr/share/applications/ubuntu-amazon-default.desktop

最后你可以删除相关的包:

sudo apt purge ubuntu-web-launchers

编程方式如下(警告:执行时请小心 - 在继续之前请检查要删除的软件包列表):

export ICONNAME=Amazon
sudo apt-get purge $(dpkg -S $(ls -1 /usr/share/applications/ | grep -i $ICONNAME) | awk '{print $1}' | sed 's/://' | sort -u)

相关内容