Что лучший способ состоит в том, чтобы иметь экран, автоматически выполненный при открытии новой оболочки, ли входом в систему, xterm, или чем-либо еще?
Я вижу, что наиболее распространенная рекомендация состоит в том, чтобы поместить exec screen
в дистанционном управлении Вашей регулярной оболочки или файле входа в систему/профиля, но для, например, tcsh, оболочки входа в систему выполняют .login в последний раз, в то время как оболочки невхода в систему читают .cshrc в последний раз. Если я поместил exec screen
в .cshrc оболочки входа в систему не получат .login файл, и если я поместил его в .login, оболочки невхода в систему не выполнят экран. Я предполагаю, что существуют подобные проблемы с другими оболочками.
Один путь:
# if $STY is not set...
if [ -z "$STY" ]; then
exec screen -ARR
fi
Обратите внимание, что это записано для bash
, но должно быть подобным для csh
также. Поместите его в .cshrc
выполняться для всех оболочек.
Иначе: можно просто установить screen
как Ваша оболочка входа в систему в /etc/passwd
самостоятельно, и помещенный эта строка в Ваш ~/.screenrc
: (Зафиксируйте путь, конечно.)
defshell /bin/csh
Но это может повредить программы, которые выполняют оболочку входа в систему, определенную в /etc/passwd
для различных команд.
(Редактирование: не забывайте добавлять экран к /etc/shells
)