Используйте xdotool в сеансе telnet

Используйте xdotool в сеансе telnet

Мне нужно имитировать нажатия клавиш в сеансе Telnet, и все это должно вызываться скриптом оболочки.

#!/bin/sh    
telnet 192.168.1.14 50000 
xdotool type "404"

Однако, как только сеанс telnet происходит, он должен закончиться до того, как xdotool будет фактически запущен. Есть ли способ для симуляции ключа во время работы telnet?

решение1

Следующий скрипт помог мне это сделать.

#!/bin/sh    
gnome-terminal --title="Telnet" -x telnet 192.168.1.14 50000 
WID=`xdotool search --class "Telnet" | head -1`
xdotool windowactivate $WID
xdotool type "404"
xdotool key "KP_Enter"

Он создает сеанс telnet в новом окне с названием "Telnet". xdotool searchНаходит это окно и фокусируется на нем, после чего xdotool typeиспользуется для имитации нажатия кнопок.

решение2

Команды управления процессами, такие как nohupи , disownпозволяют легко запускать длительные процессы и поддерживать их выполнение даже после выхода из системы/завершения сеанса.

Когда вы запускаете сеанс оболочки, все процессы, которые вы запускаете в командной строке, являются дочерними процессами этой оболочки. Если вы выходите из системы или сеанс аварийно завершается или иным образом неожиданно завершается, сигналы SIGHUP (сигнал повесить трубку) будут отправлены дочерним процессам, чтобы завершить их.

Этот вопросответит, как выполнить скрипт/команды после telnet-соединения.

Связанный контент