Если вы хотите, чтобы screen всегда воспринимал вашу оболочку как оболочку входа в систему и исходные файлы, которые были бы прочитаны при обычном запуске новой оболочки, добавьте следующее к ~/.screenrc
(или, возможно, ~/.byobu/.screenrc
, как указано в комментарии):
shell -$SHELL
Таким образом, вам не нужно вручную указывать исходные файлы при каждом запуске нового экрана. Хотя вам придется это сделать, если вы просто внесли изменения и хотели, чтобы эти изменения были отражены на вашем текущем экране.
Документацию для этого (и множество других подробностей экрана) можно найти здесь . По сути, shell
- это команда для показа на экране, указывающая, что нужно выполнить следующее, когда нужно создать новую оболочку. $SHELL
- это обычная переменная, содержащая путь к вашей предпочтительной оболочке. А тире -
перед $SHELL
указывает на то, что он должен быть запущен как оболочка для входа (что обычно означает, что он получает ваш ~/.bash_profile
и т. Д.).
Однако стоит отметить, что по умолчанию экран просто наследует большинство переменных среды из оболочки, в которой вы запускаете экран; и под-оболочка входа в систему может неожиданно изменить некоторые переменные среды. Я столкнулся с ситуацией, когда элементы моего $ PATH были в основном переставлены. Я решил проблему благодаря этому особенно отличному ответу на суперпользователя.
Вы можете заметить доступную команду source
. Важно отметить, что это источник файла screen
команд, а не команд оболочки. Другие соответствующие (экранные) команды включают eval
и exec
.