XDG_DATA_DIRS 包含重複路徑;怎麼修?
我正在執行 Arch Linux 和 KDE,並且很想了解 mime 類型文件關聯。
在調查我的系統時,我注意到了這個問題:
$ echo $XDG_DATA_DIRS /usr/share:/usr/share:/usr/local/share
請注意,路徑
/usr/share
是重複的。我想知道如何解決它以及如何解決它。此外,我的系統沒有
/usr/local/share/applications/
可以從環境變數中刪除該路徑$XDG_DATA_DIRS
嗎?如果是這樣,怎麼做?我認為最終的結果應該是:
$ echo $XDG_DATA_DIRS /usr/share
這是一些故障排除資訊。以 root 身份執行時,我看不到這些路徑。這不會產生標準輸出:
# echo $XDG_DATA_DIRS
在我機器上的普通使用者帳戶中,以下命令不產生標準輸出並且返回值
1
:$ grep -r XDG_DATA_DIRS /etc/profile.d/
除了二進製文件 places.sqlite(在 Firefox 配置文件中)之外,此搜尋找不到匹配項:
find /home/myuser -mount -type f -exec grep -r XDG_DATA_DIRS= {} +
這也不會產生標準輸出:
grep -r XDG_DATA_DIRS /etc/
到目前為止,我發現的唯一匹配是:
# grep -r XDG_DATA_DIRS= /usr /usr/share/ECM/kde-modules/prefix.sh.cmake:export XDG_DATA_DIRS=@KDE_INSTALL_FULL_DATADIR@:${XDG_DATA_DIRS:-/usr/local/share/:/usr/share/}
所以…
pacman -F /usr/share/ECM/kde-modules/prefix.sh.cmake usr/share/ECM/kde-modules/prefix.sh.cmake is owned by extra/extra-cmake-modules 5.66.0-1
Arch Linux - extra-cmake-modules 5.66.0-1 (any) https://www.archlinux.org/packages/extra/any/extra-cmake-modules/
我希望這個包不負責搞砸我的 mime 類型關聯……
在另一台設備上全新安裝 Arch 的新使用者帳戶中,以下三個命令不會產生標準輸出:
echo $XDG_DATA_DIRS grep -r XDG_DATA_DIRS /etc/profile.d/ grep -r XDG_DATA_DIRS= /usr
此外,我的系統沒有 /usr/local/share/applications/ 可以從 $XDG_DATA_DIRS 環境變數中刪除該路徑嗎
/usr/local/share/applications
不在$XDG_DATA_DIRS
您粘貼的值中,因此無需刪除不存在的值如果你 grep -r XDG_DATA_DIRS /usr
你會看到很多 XDG_DATA_DIRS。
我希望這個包不負責搞砸我的 mime 類型關聯……
不,它不會搞砸任何事情。它也只搜尋那些目錄
在另一台設備上全新安裝 Arch 的新使用者帳戶中,以下三個命令不會產生標準輸出
確切地說,您在不同的系統中得到不同的值。正是您安裝的那些包和為該特定使用者定義的環境變數,它們將定義將要搜尋數據文件的目錄。如果相同的值被定義兩次,那麼它將顯示兩次。擁有它並沒有什麼奇怪的,因為有時包不協調在一起。
grep
/usr/
,/opt
並且$HOME
您肯定會在某個地方找到罪魁禍首。如果沒有grep /
;)