Я пытаюсь создать сценарий появления окон GNU/screen с помощью команд вида screen <CMD>
.
По какой-то причине, когда я запускаю GNU/screen (вручную), оболочка, которую он запускает в окне 0 (/bin/bash
), не содержит переменную окружения $STY
. Без таких команд, как screen vim
запускается сеанс вложенного экрана, а не другое окно, как я хочу.
Мое окружение несколько необычно. Вот как я в конечном итоге в этом:
ssh robm@somehost
sudo su sharedaccount
script /dev/null
screen
Шаг script /dev/null
существует, потому что устройство TTY, выделенное для пользователя robm
не может быть доступно для пользователя sharedaccount
. Команда script
выделяет новый TTY, принадлежащий пользователю, который его вызвал, что решает эту проблему.
Если я пропущу шаги sudo
и script
, GNU/screen прекрасно подойдет для установки $STY
. Другими словами, это работает просто отлично:
ssh robm@somehost
screen
Предположительно что-то в sudo
и script
мешает работе с screen
, но я не знаю, что.