Ви можете побачити поточний вміст текстової консолі /dev/tty1
у файлі /dev/vcs1
(де 1 - число у Ctrl+ Alt+ F1). (Якщо ви спробуєте прочитати з /dev/tty1
, ви будете конкурувати з програмою, що працює там, для введення з клавіатури.) Пристрої vcs, як правило, читаються лише коренем. Ви отримуєте знімок; Немає зручного способу отримання контенту під час його надходження.
Програма 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>&