Выполнить команду в приложении Gnu Screen

Возможно ли, чтобы GNU Screen обнаружил, когда был присоединен сеанс, и выполнил команду? (Команда будет сценарием оболочки, который я написал)

Спасибо.

4
задан 29 October 2010 в 13:24

1 ответ

Что именно ты пытаешься сделать? Они, вероятно, не совсем отвечают на ваш вопрос, но вы можете адаптировать их к вашим потребностям:

Вы можете создать скрипт с именем screenr, который снова присоединит сеанс экрана после первого выполнения вашего скрипта в этом сеансе. [ 114]

#!/bin/bash
screen -X exec /command/to/run
screen -r $@

Другая идея может заключаться в том, чтобы поместить что-то в ваш .bashrc, чтобы проверить, работает ли экран, а затем выполнить команду. Он запускается всякий раз, когда вы запускаете новый сеанс экрана или создаете новую оболочку на экране, но не запускается, если вы присоединяете уже запущенный сеанс экрана.

if [ $TERM = "screen-256color-bce" ]; then
    /command/to/run
fi

Редактировать: После просмотра вашего другого вопроса, похоже, что экранная команда setenv может быть тем, что вам нужно, но она задает только переменные окружения для новых оболочек, запущенных на экране, но не для запущенных.

screen -X setenv DISPLAY $DISPLAY
0
ответ дан 29 October 2010 в 13:24

Другие вопросы по тегам:

Похожие вопросы: