Вы можете увидеть текущее содержимое текстовой консоли /dev/tty1в файле /dev/vcs1(где 1 - число в Ctrl+ Alt+ F1). (Если вы попытаетесь читать с /dev/tty1, вы будете конкурировать с запущенной там программой за ввод с клавиатуры.) Устройства vcs обычно доступны для чтения только пользователю root. Вы получаете снимок; Там нет удобного способа получить контент, как он приходит.
Программа ttysnoop позволяет вам наблюдать за трафиком на консоли с другого терминала (включая терминал X). Но это то, что вы должны настроить заранее.
Вместо того, чтобы пытаться перехватить сообщения, когда они выводятся на текстовую консоль, организуйте пересылку сообщений в другое место. Большая часть такого вывода на консоль попадает в системные журналы, в файлы в /var/log. Под X (то есть в графическом режиме) вы можете перехватывать эти сообщения xconsole, что является частью стандартного дистрибутива X.
Если xconsoleне отображаются нужные вам сообщения, отредактируйте свой вопрос, чтобы указать, откуда приходят эти сообщения.
Если вам не удается xconsoleпоказать какое-либо сообщение, отредактируйте свой вопрос, указав в нем свою точную операционную систему, все предпринятые шаги по настройке и любое сообщение об ошибке, которое вы увидели.
Если сообщения поступают не из системного средства ведения журнала, а из программы, которую вы запустили в консоли текстового режима, вы будете лучше перенаправлены . Организовать запуск программы так:
mv ~/.myprogram.log ~/.myprogram.log.old
myprogram --with arguments 2>&1 >~/.myprogram.log
Затем вы можете прочитать вывод программы из любого места, посмотрев в файл ~/.myprogram.log. В частности, чтобы посмотреть, как файл растет в реальном времени, запустите
tail -n +1 -f ~/.myprogram.log
Если программа запускается вашими скриптами запуска X, лучше перенаправить вывод всей последовательности запуска X в файл. На самом деле многие дистрибутивы делают это автоматически. Если вы используете файл .xinitrcили .xsession, поместите следующую строку в начале файла, чтобы перенаправить вывод из последующих программ:
exec >"$HOME/.xsession-$DISPLAY.log" 2>&