Linux
監控文件並在每次更改時覆蓋它?
我有一個帶有我不喜歡的預設圖示的應用程序,我想強制執行我想要的圖示。我可以更改 .desktop 文件並將 Icon 值設置為使用我的圖示。但問題是:每當應用程序獲得更新時,它都會替換 .desktop 文件以反映更改(新的執行路徑等)。
我需要一種方法讓我的 Linux 系統以某種方式監視此 .desktop 文件的更改,並在文件更改時覆蓋文件中的 Icon 欄位。有什麼辦法不手動做嗎?
linux有一個特性叫做
inotify
當給定路徑改變時可以執行任意程序。您可以將它與incron
(實際上有幾個守護程序可用於處理從中獲取核心通知的任務inotify
,incron
是較舊的一個)一起使用sed
,以便在文件更改時針對該文件執行例如命令。你必須小心不要陷入無限循環。我認為
incron
可以選擇在執行的程序仍在執行時不循環,這是為了達到這個目的。您可能會考慮的另一個選項是獲取
sed
用於修復文件的命令,然後將其添加到您的登錄或會話啟動腳本中。它少了很多,而且從我所看到的情況來看,仍然會及時發生變化以進行更改。