Как включить вход в xterm

Можно ли включить функцию ведения журнала по умолчанию в xterm?

Скажем, например, у меня есть пример программы на c, которая выдает вывод в xterm каждый раз, когда я запускаю программу с терминала bash по умолчанию в linux. И я хочу сохранять вывод, который отображается в xterm, в файл при каждом запуске программы.

Я использую centos7_x86_64, к вашему сведению. Спасибо.


person Aixeta    schedule 13.02.2018    source источник
comment
Просто перенаправьте вывод программы в файл.   -  person    schedule 13.02.2018
comment
на самом деле, программа представляет собой проект с открытым исходным кодом для запуска моделирования встроенного программного обеспечения. Во-первых, он предоставляет Virtual Box с полной установленной функциональностью, каждый раз, когда я запускаю симуляцию, затем окна xterm автоматически отображают выходные данные, и когда я закрывал xterm, ему был предоставлен выходной файл.   -  person Aixeta    schedule 14.02.2018
comment
Затем я хочу попробовать установить программу в своей среде Virtual Box (более новая ОС), но, похоже, в xterm есть другая конфигурация. Он не может дать выходной файл xterm, который похож на оригинальный Virtual Box.   -  person Aixeta    schedule 14.02.2018
comment
Не могу войти в файл, иначе я бы это сделал!   -  person Owl    schedule 29.03.2019
comment
Отличный вопрос - почему за него проголосовали, мне не понятно.   -  person Owl    schedule 29.03.2019
comment
Это не вопрос по программированию. ответ см. в этом< /а>.   -  person Thomas Dickey    schedule 30.03.2019
comment
В то же время почти каждому программисту в какой-то момент нужно что-то логировать или проверить какой-то вывод, поэтому это напрямую связано с кодированием.   -  person Owl    schedule 30.04.2019


Ответы (3)


В оконном мастере:

Удерживая ctrl + щелчок левой кнопкой мыши в окне xterm (в тексте терминала), нажмите «записать в файл».

Круто, когда вы пишете код, регистрируете терминал, а затем, когда вы открываете журнал Xterm, вы видите кодирование в ускоренной перемотке. Если хочешь, можешь снять на видео.

Обратите внимание, что в xterm есть и другие меню, доступные с помощью Ctrl+Левый щелчок, Ctrl+Средний щелчок, Ctrl+Правый щелчок.

Файл журнала будет находиться в каталоге, из которого вы запустили Xterm, и будет иметь формат: Xterm.log.<hostname>.<date>.<time>.log.

Это очень хороший вопрос, нет причин занижать такой вопрос.

person Owl    schedule 29.03.2019

Это можно сделать двумя способами:

  1. Использование script:

    xterm -e script mylogfile -c "someCommand -i input_file -o output_file -f someArg"
    
  2. Перенаправить в файл:

    xterm -e 'someCommand --arguments 2>&1> /path/to/mylogfile'
    
person Vikram Hosakote    schedule 13.02.2018
comment
ОЧЕНЬ ОСТОРОЖНО относитесь к script. У него есть существенные ограничения в отношении того, как он обрабатывает команды, конвейеры или что-то еще, что манипулирует экраном. Он был создан для учащихся, которым нужна печатная копия интерактивного сеанса в качестве доказательства выполнения задания, а не для общего перенаправления. - person David C. Rankin; 13.02.2018

По сути, я делаю это с помощью «terminal-window», mrxvt, «hcm» и «pypty».

terminal-window оборачивает mrxvt, просто заполняя некоторые параметры командной строки. mrxvt — это легкий эмулятор терминала с несколькими вкладками, не поддерживающий юникод, не отличающийся от xterm.

hcm — это графический интерфейс, который позволяет легко запускать оболочку (или другую команду) на удаленном хосте. Он также может запустить mrxvt с удаленным ssh без использования графического интерфейса, если вы предпочитаете (используя hcm-term).

pypty — это повторная реализация /usr/bin/script, написанная на Python. Он не сильно отличается от /usr/bin/script, за исключением того, что дает «режим устаревших файлов», который позволяет вам иметь один файл на каждый псевдотерминал в день. Таким образом, если вы оставите оболочку включенной на ночь, вы получите один файл в день — это, как правило, облегчает поиск того, что вы ищете.

Все это в совокупности упрощает ведение журнала псевдотерминала. Команды выполняются на удаленных хостах, но регистрируются локально. Просто запустите «причудливое окно терминала» (или используйте hcm-term), и все, что вы видите на экране, а также управляющие символы (но не неподтвержденные пароли) будет регистрироваться в ~/.hcm/logs/‹year›/‹month. >/<день>/* .

Кроме того, если вы нажмете кнопку оболочки в правом нижнем углу mrxvt, вы получите еще один сеанс ssh на тот же удаленный хост, который также регистрируется локально (в другой файл в ~/.hcm/logs/...). Когда я начал использовать эту функцию, я понятия не имел, насколько она мне понравится.

Вы можете получить их на http://stromberg.dnsalias.org/~strombrg/hcm/ Там есть видео, которое показывает, как легко его настроить и начать работу.

Кстати, причудливое окно терминала устанавливает $PS0 или «ловушку DEBUG», чтобы дать вам время начала и окончания команды. Это отлично подходит для вскрытия трупов. Он делает это без замены каких-либо обычных файлов запуска bash.

Я написал terminal-window, hcm и pypty, но не могу взять кредит на mrxvt. :)

ХТН

person dstromberg    schedule 13.02.2018