В своем файле .bashrc
вы можете проверить, установлен ли $SSH_CONNECTION
(который описывает, вошел ли текущий пользователь через SSH), а TERM
не "screen"
(как в случае, если вы запускаете его из экрана), альтернативно проверьте значение $SHLVL
(которое описывает уровень вложенных оболочек).
Что-то вроде следующего в вашем .bashrc должно сделать для автоматического запуска экрана, если вы входите через SSH:
if [ -n "${SSH_CONNECTION}" -a ${SHLVL} -eq 1 ]; then
screen -RD
fi
Он должен повторно присоединить вас к последнему сеансу экрана или создать новый, если это необходимо. Обратите внимание, что другие пользователи этого сеанса будут отсоединены. Вы также можете взглянуть на различные другие варианты, описанные на странице руководства.
-d -r Reattach a session and if necessary detach it first.
-d -R Reattach a session and if necessary detach or even create it first.
-d -RR Reattach a session and if necessary detach or create it. Use the first session if more than one session is available.
-D -r Reattach a session. If necessary detach and logout remotely first.
-D -R Attach here and now. In detail this means: If a session is running, then reattach. If necessary detach and logout remotely first. If it was not running create it and notify the user. This is the author's favorite.
-D -RR Attach here and now. Whatever that means, just do it.
Конечно, вы также можете установить экран в качестве оболочки для входа.