2011-01-05 1 views
3

У меня есть пользовательская конфигурация экрана myscreenconfig и .screenrc. myscreenconfig выглядит следующим образом:Как получить настраиваемую конфигурацию экрана Gnu для загрузки .bash_profile и .bash_aliases?

source .screenrc 
screen 0 bash 
title 'notes' 
screen 1 bash 
title 'bash' 
[etc.] 

.screenrc имеет эти линии в верхней части:

altscreen on 
shell -${SHELL} 

.bash_profile Мой файл задает много вещей, а затем вызывает source $HOME/.bash_aliases.

Если я начинаю screen без каких-либо аргументов, мой .bash_profile загружается и загружается .bash_aliases. Но если я запускаю экран через screen -c myscreenconfig, загружается только .bash_profile, а не .bash_aliases. Зачем? Как я могу это исправить?

+0

Хотя ответил, это действительно должно быть на ServerFault ... –

ответ

0

Потому что вы не используете оболочки для входа в myscreenconfig. Используйте (IIRC) screen 0 -bash или попробуйте комбинации с deflogin on.

3

То, что сработало для меня было создание символической связи между везде, где я имел мои настройки Баш и .bashrc (которые у меня не было):

ln -s ~/.bash_profile ~/.bashrc 
2

У меня была такая же проблема на одной из машин, которые я использую , После прочтения предложения выше о связи два файлов Баши ресурсы, я понял, что следующий раздел был поставлен в комментариях в файле .bash_profile на этой конкретной машине:

# Get the aliases and functions 
# if [ -f ~/.bashrc ]; then 
# . ~/.bashrc 
# fi 

После удаления комментария знаки (#) из перед строками блока if, настройки в .bashrc стали доступны и на экранных сеансах.

0

я использовать это в моем .bashrc

if [ "$TERM" = "screen" ]; then 
     if [ -f ~/.bash_profile ]; then 
       . ~/.bash_profile 
     fi 
fi