Как программно скопировать содержимое терминала?

Как я могу прочитать содержимое xterm или терминала, зная только номер его устройства? Аналогично перемещению мыши по тексту.

Перенаправление или клонирование вывода терминала в файл также может быть вариантом, если это можно сделать без взаимодействия с командами, выполняемыми в этом терминале. Так что ничего похожего на «команда> мой файл».

Или единственный способ решить эту проблему - экран печати с распознаванием или имитация движений и щелчков мыши?

Изменить: я ищу решение, которое читает контент независимо от его происхождения, т.е. 'эхо "на tty" > /dev/pts/1'


person inselberg    schedule 20.11.2013    source источник
comment
Возможно, ответ на этот вопрос stackoverflow .com/questions/29987557/ может вам помочь.   -  person Thomas Baruchel    schedule 08.11.2015


Ответы (1)


Команда script может вам помочь.

"Script создает машинописный текст всего, что напечатано на вашем терминале. Это полезно для учащихся, которым нужна печатная копия интерактивного сеанса в качестве доказательства выполнения задания, поскольку файл машинописного текста можно распечатать позже"man script

Вы даже можете передать script как команду при вызове xterm с -e:

ubuntu@ubuntu:~$ xterm -e script
ubuntu@ubuntu:~$ # A new xterm is started.  uname is run, then exit
ubuntu@ubuntu:~$ # The output is captured to a file called typescript, by default:
ubuntu@ubuntu:~$ cat typescript
Script started on Tue 19 Nov 2013 06:00:07 PM PST
ubuntu@ubuntu:~$ uname
Linux
ubuntu@ubuntu:~$ exit
exit

Script done on Tue 19 Nov 2013 06:00:13 PM PST
ubuntu@ubuntu:~$ 
person Digital Trauma    schedule 20.11.2013
comment
К сожалению, прямая запись в консоль через «echo AAAAAAAAAAAAAa › /dev/pts/1» не записывается. - person inselberg; 20.11.2013