我有一个带有我不喜欢的默认图标的应用程序,我想强制使用我想要的图标。我可以更改 .desktop 文件并设置图标值以使用我的图标。但问题是:每当应用程序获得更新时,它都会替换 .desktop 文件以反映更改(新的 Exec 路径等)。
我需要一种方法让我的 Linux 系统能够以某种方式监视此 .desktop 文件的更改,并在文件发生更改时覆盖该文件中的 Icon 字段。有什么办法可以不用手动做吗?
答案1
Linux 有一个功能,inotify
当给定路径改变时,可以执行任意进程。您可以将它与incron
(实际上有几个守护进程可用于处理从 中获取内核通知的任务inotify
,incron
是较旧的守护进程之一)一起使用,以sed
在该文件发生更改时运行例如针对该文件的命令。
你必须小心,不要陷入无限循环。我认为incron
当执行的程序仍在运行时可以选择不循环,这是为了达到这个目的。
您可能考虑的另一个选择是获取sed
用于修复文件的命令,然后将其添加到您的登录或会话启动脚本中。这已经不那么无聊了,而且从我所看到的情况来看,变化将会及时发生。