Нумерация окон экрана начинается с 0. Попробуйте вместо -p 0
.
Кроме того, параметр -X
отправляет команду самому процессу screen
не в буфер, управляемый screen
.
Если вы выполняете эти команды в двух терминалах:
- Терминал 1:
screen -dmS test
- Терминал 2:
screen -x test
(это присоединится к вашему новому test
экран) - Терминал 1:
screen -S test -X echo message
Вы увидите сообщение "message" в буфере экранных сообщений (обычно в последней строке консоли, где выводится^A w
и т. Д.).
Я не вижу способа вызвать команду или вставить содержимое непосредственно в буфер рабочего экрана.
Самое близкое, что я могу придумать, это определить, какойPTY ассоциируется с вашим сеансом бегового экрана и передает что-то непосредственно этому.Не уверен, как вы работаете, что является правильным программно, хотя: -)
Внутренний экран:
$ tty
/dev/ttys002
Внешний экран:
$ echo message >/dev/ttys002
Я думаюЭто, вероятно, слишком далеко от того, что вы хотели!Чего вы на самом деле пытались достичь?