Я читал о том, как автоматически запускать экран при ssh
подключении к удаленному серверу. Я хотел бы, чтобы простая однострочная строка добавлялась к моей, .bash_profile
чтобы запускаться screen
при входе ssh
, а НЕ выходить из удаленного соединения, когда я отсоединяю экран.
Я искал в exec screen
и почти все комбинации -d
, -r
, -D
и -R
и не могу понять, что мне нужно флаги.
В идеале я набрал бы ssh whatever
и залогинился на сервере в новом, screen
или он может снова подключиться к старому экрану, я хотел бы знать, как сделать то и другое, чтобы увидеть, что мне больше нравится. Затем я могу либо набрать, Ctrl adлибо Ctrl dзаставить его вернуться к обычному ssh
входу в систему для этого сервера (где вы увидите motd). Оттуда я могу screen -r
вернуться на любой экран или нажать Ctrl dснова, чтобы выйти.
источник
logout
илиexit
сразу после этой строки st сессия ssh немедленно завершается после закрытия экрана ctrl + D?У меня были проблемы с созданием 40 каскадных сеансов экрана с некоторыми решениями при запуске нового окна или сеанса экрана. Мне удалось исключить каскадный экран и создать новый сеанс, если он не существует с этим:
Он проверяет, есть ли у вас сеанс экрана, и запускается,
screen -R
если нет. Без теста вы получаете «Прикрепление изнутри экрана?» предупреждение с экрана каждый раз, когда вы создаете новое окно экрана.источник
screen -ls
тест, о котором говорил Тониscreen -RR
подключится к первому доступному сеансу или создаст его при необходимости.источник
Если я понимаю вашу потребность, вы должны попробовать:
if $(screen -ls | grep -q pts); then screen -x; else screen -R; fi
Он создаст только один сеанс экрана, в противном случае он будет повторно подключаться к существующему в режиме нескольких окон (даже если у вас несколько сеансов ssh, вы в конечном итоге окажетесь в одном сеансе экрана)
источник
screen -xR
, который, кажется, анализируется как «прикрепить, если есть что-то, к чему можно присоединиться, иначе создать новый экран».Здесь небольшое расширение,
скрипт для проверки bashrc, если существует более одного отдельного сеанса экрана. Если есть больше, то вы должны выбрать сессию вручную. Когда есть отдельный сеанс, вы возвращаетесь к этому сеансу. Если вы выйдете из сессии, то сессия ssh тоже закроется.
источник
Если вы хотите автоматически подключаться к сеансу экрана при подключении через SSH, добавьте приведенный ниже код на свой
.bash_profile
или.bashrc
на свой удаленный компьютер, он будет:.bashrc
Вот сценарий:
PS: Если вы хотите включить это для локального терминала, удалите
&& ! -z "${SSH_CLIENT}
в первой строке.источник