TL;DR :GNOME Shell решил сделать это. Они запускают несколько приложений (апплетов )внутри одного и того же процесса, поэтому они решили использовать спецификации меню XDG в качестве «тега» для прикрепления к сообщениям.
Полное объяснение ниже...
Таким образом, журнал синтезирует сообщение, подобное системному журналу -, которое вы видите из внутренних полей, хранящихся в каждом сообщении. (Вы можете просмотреть внутренние поля, используя формат -o verbose
.)
Поле, которое обычно содержит имя программы, также известное как «тег», хранится в поле SYSLOG _IDENTIFIER .
(Другие программы используют SYSLOG _IDENTIFIER. Например, logger
по умолчанию отправит тег от пользователя, который его вызывает, и вы можете переопределить его, используя опцию -t
.)
Существует 3 основных способа входа в журнал: либо с помощью традиционного интерфейса syslog (3 ), путем записи в stdout или stderr из службы systemd, либо с помощью собственного интерфейса журнала..
GNOME Shell использует собственный интерфейс журнала, в частности, sd _журнал _поток _fd API.Эта функция принимает идентификатор в качестве первого аргумента, который затем используется как SYSLOG _IDENTIFIER сообщений, отправляемых через этот поток.
Код GNOME Shell, который инициализирует поток journald, можно найти в src/shell -app.c , и отслеживание используемого appid
до вызывающей стороны показывает, что он устанавливается с помощью g _приложение _информация _получить _идентификатор .
Глядя на g _app _info _get _id, вы увидите, что идентификатор зависит от платформы -, но «в Unix это идентификатор файла рабочего стола из xdg спецификация меню», которая соответствует тому, что вы наблюдаете.
Коду в src/shell -app.c предшествует комментарий, поясняющий суть:
/* This sets up the launched application to log to the journal
* using its own identifier, instead of just "gnome-session".
*/
Другими словами, GNOME Shell запускает несколько приложений (через апплеты ), поэтому разработчики GNOME Shell посчитали более подходящим использовать спецификации меню XDG в сообщениях журнала, чтобы можно было определить, какой апплет генерирует это...
Эти потоки протоколирования также могут быть унаследованы любыми дочерними процессами, такими как Xwayland. В этом случае PID, следующий за тегом, относится к оболочке gnome -, процессу, который открыл поток _fd, а не дочернему процессу, который записывает сообщение в fd. В приведенном ниже сообщении журнала показан сбой сервера Xwayland, но PID 3493 соответствует оболочке gnome -, а не Xwayland.
Mar 17 18:08:39 alan-laptop org.gnome.Shell.desktop[3494]: (EE) Caught signal 7 (Bus error). Server aborting