Просмотр системной консоли обменивается сообщениями в GUI

Вы задаете пять вопросов здесь и могли бы лучше задавать пять вопросов ☺, Но я вскочу:

  1. X сервер и может сравниться с "веб-сервером", в котором это - процесс, который прислушивается к входящим соединениям, которые говорят конкретный протокол (X-протокол), и он выпускает ответы. Соединения прибывают из X-клиентов, которые могут быть на локальном хосте, или на удаленном хосте получил доступ по сети.

  2. X11 является "основной версией" X-протокола, который развился начиная с начала. X11 является новым протоколом и наиболее распространенным. (Xorg является реализацией X-сервера, X библиотек и набора клиентов, весь разговор X11. Существуют другие реализации: в основном более не существующий XFree86; коммерческие, такие как Колибри Превышают; ветвления, такие как XQuartz, который работает на Mac OS X),

  3. "Менеджером окон" является X-клиент, который управляет окнами. Это обычно несет ответственность украсить окна скосами/границами, падающими тенями, строка меню, содержащая кнопки, и т.д. - и обработать логику размещения окна; окна поддержки, перетаскиваемые, измененные или перестроенные, и т.д.

  4. X требует входа, и он несет общую ответственность управлять этим с Ядром. Исторически, X сделал большое само управление аппаратными средствами. В современные времена, на платформе Linux, X постепенно становится "меньшим" и делегирует эту ответственность перед ядром Linux. Преимущества этого: меньший X кодовых баз; меньше "пересеченных проводов" с ядром и X обе попытки управлять тем же материалом. (примером этого является интерфейс события Linux, где события от мышей и т.д. интерпретируются и переводятся ядром и его драйверами в стандартный интерфейс в /dev/input/event*, который используется X-сервером). Обратите внимание, что на других платформах (BSD, Солярис) X является все еще довольно монолитным.

  5. Существуют многие, много путей к процессам для общений друг с другом. Я полагаю, что X-клиенты могут взаимодействовать посредством X-протокола (например, традиционные менеджеры по X-окну должны знать, когда другие клиенты тянут окна для украшения их; пейджеры должны знать, когда размер окна или изменения положения, чтобы отразить это в пейджере). D-шина является современной технологией межпроцессного взаимодействия (IPC), разработанной для обращения к недостаткам других методов. Это не X конкретно.

10
25.04.2011, 19:51
4 ответа

Вы видите текущее содержание текстовой консоли /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 последовательностей запуска в файл. На самом деле много дистрибутивов делают это автоматически. Если Вы используете a .xinitrc или .xsession файл, помещенный следующая строка около начала файла перенаправить вывод из последующих программ:

exec >"$HOME/.xsession-$DISPLAY.log" 2>&
6
27.01.2020, 20:03
  • 1
    . Я просто сделал su-c "кошка/dev/vcs1", и это работало. И как Вы упомянутый, это был простой снимок сообщений на консоли, но это было всем, в чем я нуждался. –  Jay 14.10.2010, 23:49
  • 2
    @Jay: теперь, когда я видел Ваши комментарии, у меня есть другой ответ, который является, что необходимо использовать перенаправление в X сценариях запуска. Я оставляю другие возможности, потому что они могут быть полезны для других людей, просматривающих архив вопроса. –  Gilles 'SO- stop being evil' 15.10.2010, 00:19

Можно использовать xconsole для этого. Из его описания:

xconsole программа отображает сообщения, которые обычно отправляются в/dev/console.

В зависимости от конфигурации выбрало Ваше распределение, Вам, возможно, придется запустить его как корень (т.е. с sudo xconsole соответственно su -c xconsole),

1
27.01.2020, 20:03
  • 1
    . Но есть ли способ просмотреть сообщения, которые уже находятся там на консоли после того, как я запустил X? как, например, в моей ситуации.. Я записал сценарий Python для случайного изменения обоев. И я настроил его так, чтобы каждый раз, когда я запускаю X, сценарий назвали. Но сценарий не прокладывает себе путь, я хочу его к, и я получаю несколько сообщений об ошибках на консоли. Когда я запускаю xconsole после того, как я вхожу X, я могу только видеть сообщения, которые отправляются в консоль от той точки на. В странице справочника для xconsole ничто не говорится о просмотре сообщений, которые уже находятся там на консоли –  Jay 14.10.2010, 23:21
  • 2
    , Вы можете в любом окне терминала (например, xterm) отображают сообщения, распечатанные во время начальной загрузки с командой dmesg. спасибо –  fschmitt 14.10.2010, 23:29
  • 3
    dmesg только показывает сообщения, которые появляются во время начальной загрузки. Я не думаю, что это показывает сообщения, которые появляются на консоли после того, как я загружаю и вхожу и делаю "startx", например.. –  Jay 14.10.2010, 23:51

Если вы хотите увидеть сообщения консоли, вы можете положить в конец /etc/rc.local ,

sleep 60
-4
27.01.2020, 20:03

Вы пробовали xterm -C? Он работает на Ubuntu 17.04.

1
27.01.2020, 20:03

Теги

Похожие вопросы