LINUX.ORG.RU

История изменений

Исправление serg002, (текущая версия) :

Я сделал так: cat ~/.config/bashrc-modules/modules/os/common/path.sh

function user-os-path-activate() {
# # PATH=$(getconf PATH)
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/games"
# далее добавил всё, что дополняет path
}
export -f user-os-path-activate

далее в ~/.xsession
```bash
if [[ -f "${PROFILE_USER_BASHRC_MODULES}/modules/oc/common/path.sh" ]]; then
        source "${PROFILE_USER_BASHRC_MODULES}/modules/oc/common/path.sh"
fi

И непосредственно в 
function Dwm()
{
[[ "$(declare -Ff user-os-path-activate 2>/dev/null)" ]] && user-os-path-activate
    exec dbus-launch --sh-syntax --exit-with-session dwm 2> ~/.dwm/dwm.log
}

Эту же функцию я дёргаю и в bashrc. Всё в принципе работает, но тут есть вопросы

  1. после загрузки dwm, изменить PATH в dwm нельзя. Получается так, что он раз загрузил PATH и всё. Как бы сделать так, чтобы можно было в текущей сессии всё-таки PATH менять? Сейчас у меня есть способ, который я делаю для программ, которым нужен был PATH(до применения способа в .xsession), так: я создал функцию, которая в файл записывает PATH, а саму программу запускаю из скрипта(через кастомное меню dmenu), в которой читаю из этого файла PATH и передаю их таргет программе. Может это как-то можно сделать без этого костыля и всё это можно динамически менять через вариант .xsession?

  2. чтобы не дублировать PATH при каждом запуске терминала, я делаю

# # PATH=$(getconf PATH)
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/games"

Но, думаю - это не совсем правильно. Может это делать закомменченной строкой? Насколько это кроссдистрибутивно?

Исходная версия serg002, :

Я сделал так: cat ~/.config/bashrc-modules/modules/os/common/path.sh

function user-os-path-activate() {
# # PATH=$(getconf PATH)
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/games"
# далее добавил всё, что дополняет path
}
export -f user-os-path-activate

далее в ~/.xsession
```bash
if [[ -f "${PROFILE_USER_BASHRC_MODULES}/modules/oc/common/path.sh" ]]; then
        source "${PROFILE_USER_BASHRC_MODULES}/modules/oc/common/path.sh"
fi

И непосредственно в 
function Dwm()
{
[[ "$(declare -Ff user-os-path-activate 2>/dev/null)" ]] && remo-os-path-activate
    exec dbus-launch --sh-syntax --exit-with-session dwm 2> ~/.dwm/dwm.log
}

Эту же функцию я дёргаю и в bashrc. Всё в принципе работает, но тут есть вопросы

  1. после загрузки dwm, изменить PATH в dwm нельзя. Получается так, что он раз загрузил PATH и всё. Как бы сделать так, чтобы можно было в текущей сессии всё-таки PATH менять? Сейчас у меня есть способ, который я делаю для программ, которым нужен был PATH(до применения способа в .xsession), так: я создал функцию, которая в файл записывает PATH, а саму программу запускаю из скрипта(через кастомное меню dmenu), в которой читаю из этого файла PATH и передаю их таргет программе. Может это как-то можно сделать без этого костыля и всё это можно динамически менять через вариант .xsession?

  2. чтобы не дублировать PATH при каждом запуске терминала, я делаю

# # PATH=$(getconf PATH)
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/games"

Но, думаю - это не совсем правильно. Может это делать закомменченной строкой? Насколько это кроссдистрибутивно?