Клянусь, раньше в X был способ начать захват всего терминального трафика в файл на вашем хосте. Возможно, это было расширение HummingBird, но я думал, что оно стандартное. Теперь не могу найти подвох. У меня галлюцинации (происходит, когда ты стареешь) или это возможно?
Я не говорю о «тройнике». Я хочу иметь возможность отправить управляющую последовательность xterm на стандартный вывод, указав имя файла, и чтобы все, что отображалось в окне, с этого момента сохранялось в файл (до тех пор, пока не будет выпущена отмена книги).
Последовательность управления Xterm для вывода «T» в файл
Ответы (3)
Эта функция называется ведением журнала и существует в исходном коде, но по умолчанию отключена из соображений безопасности. Вы действительно хотите, чтобы все, кто может записывать управляющие последовательности на ваш терминал (например,, автор любого файла, который вы когда-нибудь cat
) могли записывать произвольные данные в файлы с произвольными именами под вашим учетная запись?
Например, злоумышленник может легко использовать эту функцию, чтобы изменить ваш ~/.ssh/authorized_keys
, чтобы предоставить злоумышленнику доступ, и изменить ваш ~/.profile
, чтобы пропинговать злоумышленника с вашим IP-адресом.
Тем не менее, если вы скомпилируете xterm с --enable-logging
И вы #define ALLOWLOGFILECHANGES
, то в соответствии с последовательностями управления Xterm руководство, вы получите доступ к следующим последовательностям управления:
^[[?46h Start logging
^[[?46l Stop logging
^[]46;filename\007 Change log file to `filename`
Имя файла журнала по умолчанию будет называться Xterm.log.hostname.yyyy.mm.dd.hh.mm.ss.XXXXXX
.
Существует также возможность включить ведение журнала через канал, что также очень опасно, если вы разрешаете изменять регистратор с помощью управляющих последовательностей. Это также позволит любому выполнять свой код в вашей системе.
--enable-logging
и отредактировать полученный Makefile
, чтобы установить EXTRA_CFLAGS = -DALLOWLOGFILEONOFF
.
- person garyjohn; 21.01.2015
Вопрос довольно расплывчатый.
Попробуйте посмотреть:
- «ttyrec/ttyplay» для записи текстового «фильма» вашего терминального сеанса.
- «Экран» для записи выхода из системы на весь сеанс
- «тройник» для записи stdout/stderr одной команды
Я немного смущен тем, как вы задали свой вопрос. Сначала вы упоминаете Xterm, затем X, а затем терминал, вы просто ищете команду «тройник» (man tee
)?