Linux

監控文件並在每次更改時覆蓋它?

  • September 26, 2019

我有一個帶有我不喜歡的預設圖示的應用程序,我想強制執行我想要的圖示。我可以更改 .desktop 文件並將 Icon 值設置為使用我的圖示。但問題是:每當應用程序獲得更新時,它都會替換 .desktop 文件以反映更改(新的執行路徑等)。

我需要一種方法讓我的 Linux 系統以某種方式監視此 .desktop 文件的更改,並在文件更改時覆蓋文件中的 Icon 欄位。有什麼辦法不手動做嗎?

linux有一個特性叫做inotify當給定路徑改變時可以執行任意程序。您可以將它與incron(實際上有幾個守護程序可用於處理從中獲取核心通知的任務inotifyincron是較舊的一個)一起使用sed,以便在文件更改時針對該文件執行例如命令。

你必須小心不要陷入無限循環。我認為incron可以選擇在執行的程序仍在執行時不循環,這是為了達到這個目的。

您可能會考慮的另一個選項是獲取sed用於修復文件的命令,然後將其添加到您的登錄或會話啟動腳本中。它少了很多,而且從我所看到的情況來看,仍然會及時發生變化以進行更改。

引用自:https://unix.stackexchange.com/questions/543916