LINUX.ORG.RU

Как заставить i3wm читать ~/.bashrc?

 , ,


0

1

Пути для некоторых программ прописаны в ~/.bashrc

вроде этого:

if [ -d /opt/deadbeef/bin ]; then
     export PATH=/opt/deadbeef/bin:$PATH
fi

Но менеджер окон, по всей видимости, запускается раньше, чем считывается файл ~/.bashrc, из-за чего все программы запущенные из i3wm не видят этих путей.

Соответственно вижу два варианта решения — заставить i3wm читать ~/.bashrc или заставить систему читать ~/.bashrc до запуска i3wm.

Как это реализовать?

Ответ на: комментарий от anonymous

Добавляю в ~/.profile

if [ -d /opt/deadbeef/bin ]; then
     export PATH=/opt/deadbeef/bin:$PATH
fi

а он не присваивается. Я делаю что-то не так?

P.S
Может быть имеет значение, система — Debian 10 stable, менеджер входа — LightDM.

Dreamdrawer ()
Ответ на: комментарий от anonymous

Добавил в ~/.pam_environment та же история. Не считывает.
Только если вручную перечитать source ~/.pam_environment, тогда начинает видеть. Но это уже после запуска i3wm, стало быть для него по-прежнему путь остаётся невидим.

С ~/.xinitrc то же самое.

Хотелось бы решить задачу посредством манипуляций в пределах домашнего каталога.

Dreamdrawer ()
Ответ на: комментарий от Dreamdrawer

Добавил в ~/.pam_environment та же история.

Возможно, по умолчанию пользовательские файлы не включены. Не помню, как там в Debian.

Хотелось бы решить задачу посредством манипуляций в пределах домашнего каталога.

man environment.d попробуй, оно не должно требовать вмешательства в /etc. Правда, PATH задают все кому не лень, так что может перекрываться твоим DM. Увы, всё именно так плохо.

anonymous ()
Ответ на: Решение от Dreamdrawer

Насколько понял, оказывается это особенность i3wm, который при запуске игнорирует всё, кроме файла ~/.xsessionrc.

Не замечал такой особенности, честно говоря. Нужно внимательнее посмотреть, какие файлы обрабатывает LightDM, какая оболочка используется для логина и какие файлы она обрабатывает на входе. Это явно не проблема i3wm. Судя по всему, это особенности Debian.

Запускаю графическую сессию командой startx. В .xinitrc:

...
PATH+=:$HOME/.local/bin
...

i3wm подхватывает без проблем.

Ещё нужно смотреть, какая оболочка используется для входа (если речь не идёт о DM). Если bash, то будет запускаться .bash_profile. Если zsh, то будет запускаться .zprofile. Во всяком случае в arch’е так.

rassol ()
Последнее исправление: rassol (всего исправлений: 1)