本地 .desktop 文件

本地 .desktop 文件

我需要建议。目前,fogger 为 fogapps 创建 .desktop 文件并将它们放在 ~/.local/share/applications 中,以便可以从 dash 或旧版应用程序菜单启动它们。一切按预期运行,但用户删除 fogger 后,这些应用程序快捷方式仍然存在,从而使应用程序镜头充斥着无用的条目。我想到了一些解决方案。

  • 为 fogger 附带一个 postremoval 脚本,该脚本会查找每个用户的所有 fogapp .desktop 文件并删除或禁用它们(隐藏属性),以及一个 preinstall 脚本,该脚本会再次查找已存在的应用程序并启用它们。这应该很简单,但我不确定 deb 文件干扰用户主目录是否是一种明智的做法。

  • 第二种解决方案是默认隐藏所有 .desktop 文件,并为 fogger 配备一个用于启动 fogapps 的特殊镜头。缺点是 fogapps 不会显示在旧菜单或启动器中,除了 dash 和 synapse 之外。此外,只剩下 2 天时间来实现这一点并修复/改进/添加其他功能。

答案1

我不知道 fogger 或 fogapp 是什么,但有些事情你可能应该做或不应该做:

  • Debian 软件包中的脚本不应该对用户特定文件执行任何操作。如果用户决定简单地卸载并重新安装以尝试解决某些问题,则此“解决方案”将导致他们拥有的所有 fogapps 不再可访问。

  • 您可以将 TryExec 添加到桌面文件,如果未安装该应用程序,系统将检查该文件并隐藏启动器。

这些“fogapps”究竟是如何启动的?如果你告诉我,我可以更新答案以提供一个例子。

答案2

在删除后修改用户主页是一个非常糟糕的主意:

  • 用户的主目录可能被多个系统使用
  • 在用户群非常大的系统中,删除所有文件可能需要相当长的时间。
  • 如果用户的主页已加密,您可能无法访问这些主页,或者您需要在从服务器安装它们之前进行身份验证。

当用户第一次创建 fogapp .desktop 文件时,我会在用户主目录中安装一个小的清理脚本。您甚至可以提供一个选项,仅删除在当前系统上创建的那些文件。

相关内容