Есть у меня такая конфигурация: .bashrc и .profile (как я понимаю, он подтягивается, если нет .bash_profile и при этом более универсальный).
.profile загружает .bashrc и больше ничего важного не делает.
В .bashrc есть разные персональные настройки (алиасы, PS1 и т.п.) и есть секция переменных и алиасов для поддержки XDG directories в приложениях, которые этого не умеют сами - вот эта секция меня интересует. Она должна выполняться в любом окружении - tty, эмулятор консоли, ДЕ, запускаемые из ДЕ команды, запускаемые из крона команды.
Я читал, что .profile грузится только для логин-шелла, то есть, в tty после логина будет и загруженный .bashrc. А в графических терминалах загружается только .bashrc. То есть, такой сетап, как у меня, должен работать так, как мне надо. Но он не работает или я не понимаю, как он должен работать.
Я делаю так: логинюсь в tty, проверяю, что XDG переменные подгрузились, запускаю из этой консоли startxfce4, открывается DE. Запускаю по шорткату urxvt, вижу белый дефолтный терминал. Вызов xrdb с нужным Xresources есть в той же секции XDG. В tty он очевидно не сработал, после запуска urxvt он тоже эффекта не произведёт, потому что терминал уже запущен. Следующий терминал уже открывается чёрный и красивый, потому что в предыдущем вызвался .bashrc с нужными настройками. Получается, что команды, выполняемые по горячим клавишам, не используют .profile и .bashrc?
Как правильно организовать эти скрипты, чтобы нужный набор переменных был доступен везде? И желательно, чтобы после изменения этих настроек и tty, и команды по горячим клавишам, и urxvt динамически запускались с обновленными настройками, без рестарта DE/сессии. Пока я вынес эти переменные в отдельный файл и включаю его в оба скрипта через source и в некоторых командах в xfce4-keyboard-settings и кронтабе принудительно, но мне кажется, это как-то неестественно.
Может, кто-то организует стартовые скрипты удобнее?