LD_LIBRARY не экспортируется для i3wm / dmenu
Короче; Я хочу запустить python3 из dmenu / i3-msg, и моя установка на python требует, чтобы я добавил путь к lib в мой LD_LIBRARY_PATH.
Моя установка - Ubuntu 16.04, с Lightdm по умолчанию, с i3 в комплекте с моим менеджером пакетов (i3 version 4.11 (2015-09-30, branch "4.11")
Чтобы инициализировать это, вот содержимое моих файлов.profile / .xprofile / .xsession / .xsessionrc (да, я скопировал это 4 раза):
export PATH="$HOME/bin:$HOME/bin/git-aliases:$HOME/.local/bin:$PATH"
export PATH="$HOME/.cargo/bin:$PATH"
export PATH="/usr/local/cuda-10.1/bin:$PATH"
# cuda
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"
# python3.7 (built from source)
export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH"
# harfbuzz, used by kitty
export LD_LIBRARY_PATH="$HOME/Clones/harfbuzz/src/.libs:$LD_LIBRARY_PATH"
Для тестирования вот тестовый скрипт, который я пытаюсь запустить из dmenu:
echo "LD" $LD_LIBRARY_PATH >> $HOME/thatexplainsit
echo "PATH" $PATH >> $HOME/thatexplainsit
При запуске скрипта вручную содержимое файла соответствует ожидаемому:
$ cat thatexplainsit
LD blabla
PATH blabla
Однако, если в моем конфиге i3 я запускаю exec that-script
Я получил:
LD # <-- this is empty !?
PATH blabla
Аналогично, работает dmenu_run
из командной строки работает, пока работает dmenu_run
от ярлыка i3 нет.
Я пытался запустить grep -r "export LD_LIBRARY_PATH"
чтобы найти, если это было изменено где-то еще, безрезультатно. Что происходит? Почему я не могу установить эту переменную в моем.profile, как я делаю с моим путем?