~/.local/share/applications 可以覆盖 /usr/share/applications 吗?

~/.local/share/applications 可以覆盖 /usr/share/applications 吗?

我需要在 KDE 上启动一些应用程序并添加一些配置更改。最好的、最省事的方法/是复制.desktop需要更改配置的单个应用程序的文件,从/usr/share/applications,添加选项,然后将它们复制到~/.local/share/applications

我想知道这是否会导致我不知道的问题。是否有更好的方法来实现这一点,比如不复制所有内容,而只在桌面文件中添加更改~/.local/share/applications

谢谢。

答案1

是的,将您想要修改的内容复制到 应该可以~/.local/share/applications,除非您进行了一些错误的编辑(例如删除 mime 类型等),否则不会造成太多问题。复制所有内容意味着如果它们在 更新/usr/share/applications,它们将不会在 更新~/.local/share/applications,并且您删除的应用程序的启动器将保留。不要费心复制所有不必要的内容。

完成编辑后,运行update-desktop-database ~/.local/share/applications/应确保新的启动器被识别,因此会显示在 Dash/Menu 中。

Unity 的启动器和 Gnome 的 Dash 可能仍会显示版本/usr/share/applications,因此您需要解锁并锁定图标。Gnome 3 可能也需要重新启动,Nautilus 可能也需要重新启动,因此注销并重新登录应该可以解决这个问题。

阅读以下内容可能有助于进行编辑:

答案2

不要复制所有文件/目录 /usr/share/applications

在编辑文件之前先在本地复制.desktop文件确实是一种很好的做法。这是适当的程序。复制/编辑文件并注销/登录后,本地文件将覆盖全局文件。

然而,并非所有文件/usr/share/applications都应由用户直接运行。有些文件可能根本不是.desktop文件,甚至可能存在一些目录。这就是为什么你不应该简单地复制一切/usr/share/applications~/.local/share/applications

也根本没有理由将所有.desktop文件复制到本地。本地文件只会覆盖全局文件如果本地的那个存在。如果本地的那个不存在,全局的那个仍然“负责”。

/usr/share/applications如果我将 的完整内容复制到,是否存在风险~/.local/share/applications

除了创建无用的重复项之外,复制一切/usr/share/applications启动桌面时可能会发生冲突。实际上我曾经做过一次这样的实验()Unity,不得不用启动 usb 来解决问题。

结论:

仅在有理由这样做时才复制全局.desktop文件,并且仅复制(和编辑)特定的文件。~/.local/share/applications

如果您以某种方式弄乱了一个.desktop文件,应用程序将无法从 Dash 启动,或者您会在 Dash 中遇到重复的图标,如果您无法修复,只需删除本地.desktop,注销/登录,一切就会恢复如前。

相关内容