lfs-ru/chapter08/dbus.xml
2023-11-26 21:49:38 +05:00

247 lines
10 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-dbus" role="wrap" revision="systemd">
<?dbhtml filename="dbus.html"?>
<sect1info condition="script">
<productname>dbus</productname>
<productnumber>&dbus-version;</productnumber>
<address>&dbus-url;</address>
</sect1info>
<title>D-Bus-&dbus-version;</title>
<indexterm zone="ch-system-dbus">
<primary sortas="a-dbus">D-Bus</primary>
</indexterm>
<sect2 role="package">
<title/>
<para>D-Bus это система межпроцессного взаимодействия, реализующая шину сообщений.
D-Bus предоставляет системного демона (для таких событий, как <quote>добавление нового
аппаратного устройства</quote> или <quote>изменение очереди печати</quote>), и демона
сеанса входа в систему для каждого пользователя (для общих потребностей IPC среди
пользовательских приложений). Кроме того, шина сообщений построена поверх общей схемы
взаимной передачи сообщений, которая может использоваться любыми двумя приложениями для
прямого взаимодействия (без использования демона шины сообщений).</para>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem>
<seg>&dbus-fin-sbu;</seg>
<seg>&dbus-fin-du;</seg>
</seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>Установка пакета D-Bus</title>
<para>Подготовьте D-Bus к компиляции:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--runstatedir=/run \
--enable-user-session \
--disable-static \
--disable-doxygen-docs \
--disable-xml-docs \
--docdir=/usr/share/doc/dbus-&dbus-version; \
--with-system-socket=/run/dbus/system_bus_socket</userinput></screen>
<variablelist>
<title>Значение параметров настройки:</title>
<varlistentry>
<term>
<parameter>--runstatedir=/run</parameter> и
<parameter>--with-system-socket=/run/dbus/system_bus_socket</parameter>
</term>
<listitem>
<para>Параметр устанавливает расположение PID-файла и сокета системной шины
в <filename class="directory">/run</filename> вместо устаревшего
<filename class="directory">/var/run</filename>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>--enable-user-session</parameter>
</term>
<listitem>
<para>Это гарантирует, что юнит-файлы (service и socket) D-Bus демона Systemd
будут установлены для каждого пользователя. Они бесполезны (но при этом безвредны)
при базовой установке LFS, однако их можно использовать после пересборки systemd
с поддержкой PAM в BLFS.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Скомпилируйте пакет:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Чтобы протестировать пакет, выполните:</para>
<screen><userinput remap="test">make check</userinput></screen>
<para>Многие тесты отключены, поскольку для них требуются дополнительные пакеты,
которые не включены в LFS. Инструкции по запуску полного набора тестов можно найти
в <ulink url="&blfs-book;general/dbus.html">книге BLFS</ulink>.</para>
<para>Установите пакет:</para>
<screen><userinput remap="install">make install</userinput></screen>
<para>Создайте символическую ссылку, чтобы D-Bus и systemd могли использовать
один и тот же файл <filename>machine-id</filename>:</para>
<screen><userinput remap="install">ln -sfv /etc/machine-id /var/lib/dbus</userinput></screen>
</sect2>
<sect2 id="contents-dbus" role="content">
<title>Содержимое пакета D-Bus</title>
<segmentedlist>
<segtitle>Установленные программы</segtitle>
<segtitle>Установленные библиотеки</segtitle>
<segtitle>Созданные каталоги</segtitle>
<seglistitem>
<seg>dbus-cleanup-sockets, dbus-daemon, dbus-launch, dbus-monitor,
dbus-run-session, dbus-send, dbus-test-tool,
dbus-update-activation-environment и dbus-uuidgen</seg>
<seg>libdbus-1.so</seg>
<seg>/etc/dbus-1, /usr/include/dbus-1.0, /usr/lib/dbus-1.0,
/usr/share/dbus-1, /usr/share/doc/dbus-&dbus-version;
и /var/lib/dbus</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Краткое описание</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="dbus-cleanup-sockets">
<term><command>dbus-cleanup-sockets</command></term>
<listitem>
<para>используется для удаления оставшихся сокетов в каталоге</para>
<indexterm zone="ch-system-dbus dbus-cleanup-sockets">
<primary sortas="b-dbus-cleanup-sockets">dbus-cleanup-sockets</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="dbus-daemon">
<term><command>dbus-daemon</command></term>
<listitem>
<para>Демон шины сообщений D-Bus</para>
<indexterm zone="ch-system-dbus dbus-daemon">
<primary sortas="b-dbus-daemon">dbus-daemon</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="dbus-launch">
<term><command>dbus-launch</command></term>
<listitem>
<para>Запускает <command>dbus-daemon</command> из сценария оболочки</para>
<indexterm zone="ch-system-dbus dbus-launch">
<primary sortas="b-dbus-launch">dbus-launch</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="dbus-monitor">
<term><command>dbus-monitor</command></term>
<listitem>
<para>Отслеживает сообщения, проходящие через шину сообщений D-Bus</para>
<indexterm zone="ch-system-dbus dbus-monitor">
<primary sortas="b-dbus-monitor">dbus-monitor</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="dbus-run-session">
<term><command>dbus-run-session</command></term>
<listitem>
<para>Запускает экземпляр шины <command>dbus-daemon</command> из
сценария оболочки и запускает указанную программу в этом сеансе</para>
<indexterm zone="ch-system-dbus dbus-run-session">
<primary sortas="b-dbus-run-session">dbus-run-session</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="dbus-send">
<term><command>dbus-send</command></term>
<listitem>
<para>Отправляет сообщение на шину сообщений D-Bus</para>
<indexterm zone="ch-system-dbus dbus-send">
<primary sortas="b-dbus-send">dbus-send</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="dbus-test-tool">
<term><command>dbus-test-tool</command></term>
<listitem>
<para>Инструмент, помогающий пакетам тестировать
<application>D-Bus</application></para>
<indexterm zone="ch-system-dbus dbus-test-tool">
<primary sortas="b-dbus-test-tool">dbus-test-tool</primary>
</indexterm>
</listitem>
</varlistentry>
<!-- This is a very long command name. Excuse the long <primary> statement below. -->
<varlistentry id="dbus-update-activation-environment">
<term><command>dbus-update-activation-environment</command></term>
<listitem>
<para>Обновляет переменные среды, которые будут установлены для сеансовых служб
<application>D-Bus</application></para>
<indexterm zone="ch-system-dbus dbus-update-activation-environment">
<primary sortas="b-dbus-update-activation-environment">dbus-update-activation-environment</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="dbus-uuidgen">
<term><command>dbus-uuidgen</command></term>
<listitem>
<para>Генерирует универсальный уникальный идентификатор UUID</para>
<indexterm zone="ch-system-dbus dbus-uuidgen">
<primary sortas="b-dbus-uuidgen">dbus-uuidgen</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libdbus-1">
<term><filename class="libraryfile">libdbus-1</filename></term>
<listitem>
<para>Содержит функции API, используемые для связи с шиной сообщений D-Bus</para>
<indexterm zone="ch-system-dbus libdbus-1">
<primary sortas="c-libdbus-1">libdbus-1</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>