卸载的应用程序不会自动从 Cinnamon 菜单中删除

卸载的应用程序不会自动从 Cinnamon 菜单中删除

我在用着Ubuntu 22.04 Jammy Jellyfish(x86-64)服务器安装使用 Cinnamon 5.2.7

(系统安装步骤可在此处找到)

在 Ubuntu 服务器 22.10 安装上也确实出现过这个问题。

我看到系统上安装的应用程序出现在菜单中。

新安装的应用程序也会自动添加到其中。

Cinnamon Menu 不自动刷新应用程序快捷方式吗?

我使用单独的 /home 分区驱动器,并且只重新安装系统,因此每次重新安装后我都能找回文件。问题是我无法在菜单中快速检查我还需要安装什么,因为所有应用程序仍然存在于菜单中,即使应用程序尚未重新安装。这非常不方便。

它似乎会自动添加新安装的应用程序,但如果应用程序从系统中删除,它不会自动删除快捷方式。

我如何才能让它使用系统上当前可用的应用程序刷新/更新快捷方式?

Cinnamon 菜单带有一个名为“恢复系统配置”的重置选项。但这并不能将其设置为与系统上可用的应用程序相匹配。在我看来,它只是将其重置为 Cinnamon 菜单在安装时应具有的默认快捷方式。

Cinnamon 菜单编辑器


此问题也已发布在 Linux Mint 论坛上:

[UBUNTU] Cinnamon 菜单自动刷新应用程序快捷方式? - Linux Mint 论坛

我是否可以使用该/home/wingarmac/.local/share/applications/位置来制作一个脚本来搜索过时的 .desktop 文件?(参考

我搜索了如何列出已安装的应用程序及其路径。我找到了如何列出已安装的软件包这里

我使用以下命令:

dpkg -l |awk '/^[hi]i/{print $2}' > installation.txt

现在我正在寻找如何搜索每一行的执行路径installation.txt文件输出中。

但:

  • 它没有对包的类型进行排序:应用程序/驱动程序/插件/...
  • 它不只列出 GUI 应用程序
  • 它没有给我启动它的路径。

为了使我的搜索变得相当复杂,但仍然可能吗?

另一种方法是编写一个脚本来检查 .desktop 文件是否有错误。我最终该如何做呢?

Ubuntu Cinnamon 菜单执行路径示例:

  • protontricks --no-term --gui
  • /opt/google/chrome/google-chrome --profile-directory=Default --app-id=*some long id here corresponding to my gmail*
  • wine C:/windows/notepad.exe
  • /usr/sbin/gparted %f
  • pkexec lightdm-settings
  • dbus-send --print-reply --dest=org.Cinnamon /org/Cinnamon org.Cinnamon.ToggleKeyboard

我不知道从哪里开始,因为有太多的变数。

这个帖子处理相同的问题,但答案是,通过等待未定义的 cron 任务,问题已经得到解决。这对我来说不是解决方案,因为我想手动应用此 cron 任务(如果存在)来立即清除不起作用的快捷方式。

那么,有人可以详细说明这个 cron-task 是什么以及我在需要时如何应用它吗?


答案1

我尝试了以下安装来与 Cinnamon 菜单进行比较:

  1. Linux Mint 21.1 Cinnamon 5.6.7
  2. Ubuntu 服务器 22.04薄荷 PPA安装 Cinnamon 5.4.12

对于第 2 点,我在自己的计算机上进行了以下操作:

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com A1715D88E1DF1F24 40976EAF437D05B5 3B4FE6ACC0B21F32 A6616109451BBBF2
sudo sh -c 'echo "deb http://packages.linuxmint.com vanessa main upstream import backport romeo" >> /etc/apt/sources.list.d/mint.list'
sudo sh -c 'echo "deb-src http://packages.linuxmint.com vanessa main upstream import backport romeo" >> /etc/apt/sources.list.d/mint.list' 
sudo apt update

我这样解决了密钥环问题:

sudo apt-key list

pub   rsa4096 2016-05-24 [SC]
      302F 0738 F465 C153 5761  F965 A661 6109 451B BBF2
uid           [ unknown] Linux Mint Repository Signing Key <[email protected]>
sub   rsa4096 2016-05-24 [E]

apt-key export 451BBBF2 | gpg --dearmour -o /etc/apt/trusted.gpg.d/mint.gpg

其中 pub 后下一行的最后 8 位数字用于创建 gpg 密钥。

之后我在 Ubuntu 服务器上安装了 Cinnamon:

sudo su
apt install slick-greeter muffin cinnamon

系统信息结果:

  • 操作系统:Linux Mint 21 Vanessa(x86-64)
  • Cinnamon 版本:5.4.12

在两种环境中,一切都运行良好。

  1. 我右键单击 Cinnamon 菜单以选择“配置...”
  2. 我可以点击选项按钮(右上角 - 三行按钮)
  3. 选择“重置为默认值”

结果是:

  • 卸载 Wine 应用程序后 Wine 快捷方式不会自动删除
  • 所有其他不存在的应用程序均不表示。
  • 所有已安装的应用程序均如应有的那样存在。

这对我来说是一个解决方案。

我可以推测这是由于无法通过命令apt install -f和 Cinnamon 菜单版本找到未满足的依赖关系造成的。


Bash 安装程序菜单

我制作了一个 bash 脚本菜单,以便在需要重新安装系统时快速执行此操作。

详细说明这里


它能做什么:

  • 它解决了 Ubuntu 和 Cinnamon 网络小程序中已知的声音问题。

  • 它可以轻松添加 Mint 反向移植,以便在 Ubuntu 上安装 Cinnamon

  • 它允许您选择要安装的图形专有驱动程序

    由于我的电脑上只使用 Nvidia 驱动程序,因此我只是添加了我个人需要的版本。

  • 它有一个选项可以将 Ubuntu 内核更新到最新版本

  • 它有一个菜单,可以从 installation.txt 文件安装附加包。

  • 它位于一个子菜单中,其中包含一个命令,用于将使用该apt install命令手动安装的所有内容导出到installation.txt。

  • 它还具有第三方软件选项,其中包含我喜欢使用的需要dpkg -i安装的软件。


下载并执行:

git clone https://github.com/wingarmac/Bash-installer-menu.git
cd Bash-installer-menu
chmod a+x Installer-menu
sudo ./Installer-menu

安装程序菜单

相关内容