Большинство BIOS принимают различные версии управляющих последовательностей клавиатуры vt100 для функциональных клавиш. Например, в руководстве по перенаправлению консоли dell среди прочего перечислены эквиваленты:
F7 ov or [ 1 8 ~
, а также некоторые дополнительные нестандартные последовательности, такие как
r r r
(для
вы должны ввести О.В.
конечно). К сожалению, эти ключевые последовательности часто приходится набирать очень быстро, поскольку обычно между символами допускается только небольшой тайм-аут.
Один из способов отправки такой последовательности через telnet - заставить эмулятор терминала генерировать строку при некоторой привязке. Это очень зависит от эмулятора терминала.
Другой способ - отключить ваш Telnet и запустить команду для отправки только последовательности через новое соединение Telnet. Например, для тестирования этот ожидаемый сценарий выполняет вход в систему и отправляет последовательность F7 ( \ 033 \ [18 ~
).
#!/bin/expect -f
spawn telnet localhost
expect login:
send myuserid\r
expect Password:
send mypassword\r
expect "\$ "
send "echo hi\r"
expect "hi"
expect "\$ "
send "dd count=6 bs=1 | od -c\r"
send "\033\[18~\r"
expect "\$"
send "echo hi\r"
expect "hi"
send_user "done\n"
Очевидно, что вам не нужно входить в свою биографию, поэтому вы можете просто получить
#!/bin/expect -f
spawn telnet remotebios
expect "Connected to "
send "\033\[18~"
Вы также можете попробовать попроще
echo -e '\033[18~' | nc remotebios 23
Я не думаю, что вы можете использовать сигнал. Но Xpdf принимает синтетические события, поэтому легко программно ввести r
в окно с помощью xdotool(1)
. К сожалению, окно xpdf
не идентифицирует себя по PID, но, похоже, работает следующее:
xdotool search --onlyvisible --class Xpdf key r
Если вы знаете имя файла, который отображает Xpdf, вы можете сопоставить заголовок окна:
xdotool --name 'Xpdf: foo.pdf' key r
Есть небольшой риск ложного срабатывания с другим окном, заголовок которого случайно содержит эту строку. Другие варианты сопоставления окон могут помочь точно определить нужное окно.