Как заставить экран GNU запускать .bash_profile в каждом новом окне?

18

Когда я открываю новое окно на экране GNU, оно запускается, .bashrcно нет .bash_profile. В моей настройке это приводит к тому, что некоторые переменные среды не были правильно установлены в этом окне.

Как я могу сказать, что GNU screen всегда запускается, .bash_profileа не при .bashrcоткрытии нового окна? (Пожалуйста, не говорите мне просто позвонить .bash_profileот моего .bashrc:)

user9474
источник

Ответы:

33

Вы хотите запустить bash (или любую другую оболочку) в качестве оболочки для входа. Вы делаете это с

shell -$SHELL

в вашем ~/.screenrc. Магия -перед раковиной. Смотрите man screenrcподробности. (Ну, не так много подробностей, потому что это почти все.)

mattdm
источник
1
Когда я делаю это, он останавливает запуск экрана в каталоге, с которого я использую команду. Как заставить экран использовать каталог, из которого я запускаю команду, в качестве каталога, в котором она запускается?
theonlygusti
Я не понимаю эту справочную страницу! Онлайн-документы можно найти здесь: gnu.org/software/screen/manual/screen.html#Shell . Сначала я запутался, так как screenrc перечитывается только тогда, когда экран воссоздается - не каждый раз, когда вы создаете новое окно в приложении
JonnyRaa
@theonlygusti Для меня рабочий каталог сохраняется при настройке .screenrc, как было предложено.
Хольгер Брандл
2

Вы бы или должны источник ~/.bash_profileиз ~/.bashrcили положить вещи , которые нужны непосредственно в ~/.bashrcили положить вещи в общем в третьем файл и источнике его с обеих вашими ~/.bashrcи ~/.bash_profile.

Приостановлено до дальнейшего уведомления.
источник
ГДЕ эти источники? ... ПОТОМУ ЧТО ЭТО ПРОБЛЕМА (экран НЕ ИСПОЛЬЗУЕТ ни одного из них)
THESorcerer
@THESorcerer: В моей системе screenисточники ~/.bashrcбез shellкоманды показаны в другом ответе.
Приостановлено до дальнейшего уведомления.