Как вы запускаете экран GNU на экране GNU?

16

Можно ли запустить экран GNU на экране GNU? Я не уверен, как будут работать привязки клавиш. Мне нужно войти на сервер, на котором уже запущен сеанс экрана, из сеанса локального экрана.

Дан
источник

Ответы:

16

Вы просто нажимаете ctrl-a, а затем a, чтобы фактически отправить ctrl-a во вложенный экземпляр экрана.

psusi
источник
3
Нет, как правильно отмечает RobM, вы должны набрать ctrl-a a, чтобы отправить ctrl-a на вложенный экран.
Яап Старейшина
17
Йоу Дауг Я слышал, что вы любите экраны, поэтому я поместил ctrl-a в ваш ctrl-a, чтобы вы могли видеть экран во время экрана.
1
Также работает для переназначенных кодов; мой триггер ctrl-g (потому что мне нравится ctrl-a, чтобы перейти к началу строки в bash), поэтому во вложенном сеансе; ctrl-g g 2выбирает окно 2 на вложенном экране, ctrl-g 1выбирает окно 1 на начальном экране.
jaygooby
10

Да, это возможно. Вам нужно будет переопределить screenescape-символ, например, установить его Eпри вызовеscreen

screen -e^Eq
Бенджамин Банье
источник
это лучший ответ, и что я искал. я хотел просто знать, как правильно его настроить, а не как обойти. Зачем нажимать больше клавиш, которые вам нужно, привязать их в гнезде, чтобы вы точно знали, какой экран вы контролируете.
Брайан Томас
9

Если вы очистите $STYпеременную среды, запуск screenзапустит вложенный сеанс.

Затем вам нужно отправить литерал ^aво вложенный сеанс, прежде чем использовать какие-либо из ваших привязок. Вы можете отправить литру ^a, нажав, ^aа затем a(обычный).

Таким образом , чтобы создать новое окно в гнездовой сессии вы нажимаете ^a, a, c.

RobM
источник
4

Ctrl-a a отправляет Ctrl-A на вложенный экран.

Например, если вы хотите добавить новую вкладку, вы делаете ctrl-a ac

если вы хотите отключить: "Ctrl-A"

Хью Перкинс
источник
0

Команды работают нормально, если вы используете ctrl-a a или меняете управляющий символ. Однако он также спросил, как подключить изнутри другой терминал. Мне понадобилось некоторое время, чтобы найти это в Интернете, но после того, как я увидел флаг -m, я посмотрел его в руководстве.

    -m      cause screen  to  ignore  the  $STY environment variable. With
            "screen -m" creation of a new session is enforced, regardless whether screen is
            called from within another screen session or not. This flag has a special
            meaning in connection with the `-d' option:

    -d -m   Start screen in "detached" mode. This creates a new session but
            doesn't attach to it. This is useful for system startup scripts.

    -D -m   This also starts screen in "detached" mode, but doesn't fork a new
            process. The command exits if the session terminates.

После этого я протестировал создание нового экрана с

screen-d -m

и прикрепление к нему изнутри экрана с

screen -R -D

и это работало так, как я хотел, создав новый экран и прикрепив его к экрану. Я не думаю, что многие люди будут использовать эту функцию, но иногда у меня заканчиваются терминалы, поэтому может быть полезно сгруппировать вкладки на отдельном экране.

Даниэль Дарнелл
источник