I3

i3 dmenu 不瀏覽 $PATH

  • January 29, 2022

我想~/.local/bin/test.sh通過dmenu. 如果我執行並瀏覽我找不到dmenu$mod+D條目。test.sh

路徑~/.local/bin已經設置為我的$PATH變數~/.profile

$ echo $PATH
/home/ubuntu/bin:/home/ubuntu/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

我還刪除~/.cache/dmenu_run並重新啟動了 i3。如何通過 dmenu 啟動測試腳本?

刪除~/.cache/dmenu_run~/dmenu_cache,具體取決於您擁有的,然後重新登錄。登錄後從 .profile 重新載入 PATH 後,dmenu 應該從 $PATH 重新生成記憶體。dmenu 似乎對更新自己的記憶體不好,有時需要強制這樣做。

還要檢查您是否啟用了腳本的可執行位:

$ ls -l ~/.local/bin/test.sh
-rwxrwxrwx 1 user group 152 Jan 11 04:09 /home/user/.local/bin/test.sh

我有同樣的問題。

這個 Arch Linux 論壇文章描述了這個問題:

在 ~/.bashrc 中設置 $PATH 並不能確保您的 WM/dmenu 將繼承此環境。

一個更相關的問題是,“你如何登錄?” 通常在 ~/.bash_profile 或 ~/.profile 中導出的環境在您的 X 應用程序中可用。

像往常一樣啟動 dmenu_run,然後在 dmenu 中,

echo $PATH > /tmp/path

在終端中鍵入 Then,cat /tmp/path查看 $PATH 是什麼。

在我的情況下,我~/.profile的 $PATH 目錄沒有被 dmenu 拾取。我的視窗管理器是從 .xinitrc 啟動的,並export PATH=$PATH:/dir/of/interest在 .xinitrc 文件中添加了一個附加項,然後該exec my_wm行修復了問題。雖然有點笨拙。

如前所述,我必須刪除該~/.cache/dmenu_run文件並在進行更改後再次登錄才能使其正常工作。

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