D-Bus er et meldingsbusssystem, en enkel måte for applikasjoner å
snakke til hverandre. D-Bus leverer både en systemnisse (system
daemon) (for hendelser som f.eks "ny maskinvareenhet lagt til"
eller "skriverkø endret") og en per brukerpåloggingsøkt nisse (for
generelle IPC behov blant brukerens applikasjoner). Dessuten er
meldingsbussen bygget på toppen av et generelt en-til-en rammeverk
for meldingsoverføring, som kan brukes av to applikasjoner til å
kommunisere direkte (uten å gå gjennom meldingsbussnissen).
Omtrentlig byggetid:
0.1 SBU
Nødvendig diskplass:
17 MB
8.78.1. Installasjon av D-Bus
Forbered D-Bus for kompilering:
mkdir build
cd build
meson setup --prefix=/usr --buildtype=release --wrap-mode=nofallback ..
Betydningen av mesonalternativene:
-
--wrap-mode=nofallback
-
Denne bryteren hindrer meson i å prøve å laste ned en kopi av
Glib pakken for testene.
Kompiler pakken:
ninja
For å teste resultatene, utsted:
ninja test
Mange tester er deaktivert fordi de krever tilleggspakker som ikke
er inkludert i LFS. Instruksjoner for å kjøre en omfattende
testpakke finner du i
BLFS boken.
Installer pakken:
ninja install
Lag en symbolkobling slik at D-Bus og systemd kan bruke den samme
machine-id
filen:
ln -sfv /etc/machine-id /var/lib/dbus
8.78.2. Installasjon av dbus - 32-bit
Rens forrige bygg:
rm -rf *
Klargjør dbus for kompilering:
PKG_CONFIG_PATH="/usr/lib32/pkgconfig" \
CC="gcc -m32 -march=i686" \
CXX="g++ -m32 -march=i686" \
meson setup --prefix=/usr --libdir=/usr/lib32 --buildtype=release --wrap-mode=nofallback ..
Kompiler pakken:
ninja
Installer pakken:
DESTDIR=$(pwd)/destdir ninja install
mkdir -pv /usr/lib32/pkgconfig
cp -av $(pwd)/destdir/usr/lib32/libdbus-1.so* /usr/lib32/
cp -av $(pwd)/destdir/usr/lib32/dbus-1.0 /usr/lib32/
cp -v $(pwd)/destdir/usr/lib32/pkgconfig/dbus-1.pc /usr/lib32/pkgconfig/
8.78.3. Installasjon av dbus - x32-bit
Rens forrige bygg:
rm -rf *
Klargjør dbus for kompilering:
PKG_CONFIG_PATH="/usr/libx32/pkgconfig" \
CC="gcc -mx32" \
CXX="g++ -mx32" \
meson setup --prefix=/usr --libdir=/usr/libx32 --buildtype=release --wrap-mode=nofallback ..
Kompiler pakken:
ninja
Installer pakken:
DESTDIR=$(pwd)/destdir ninja install
mkdir -pv /usr/libx32/pkgconfig
cp -av $(pwd)/destdir/usr/libx32/libdbus-1.so* /usr/libx32/
cp -av $(pwd)/destdir/usr/libx32/dbus-1.0 /usr/libx32/
cp -v $(pwd)/destdir/usr/libx32/pkgconfig/dbus-1.pc /usr/libx32/pkgconfig/
8.78.4. Innhold i
D-Bus
Installerte programmer:
dbus-cleanup-sockets, dbus-daemon,
dbus-launch, dbus-monitor, dbus-run-session, dbus-send,
dbus-test-tool, dbus-update-activation-environment, og
dbus-uuidgen
Installerte biblioteker:
libdbus-1.so
Installerte mapper:
/etc/dbus-1, /usr/include/dbus-1.0,
/usr/lib/dbus-1.0, /usr/share/dbus-1,
/usr/share/doc/dbus-1.16.2, og /var/lib/dbus
Korte beskrivelser
dbus-cleanup-sockets
|
brukes til å fjerne gjenværende socket i en mappe
|
dbus-daemon
|
er D-Bus-meldingsbussnisse
|
dbus-launch
|
starter dbus-daemon fra et
skallskript
|
dbus-monitor
|
overvåker meldinger som går gjennom en D-Bus meldingsbuss
|
dbus-run-session
|
starter en øktbussforekomst av dbus-daemon fra et
skallskript og starter et spesifisert program i den økten
|
dbus-send
|
sender en melding til en D-Bus meldingsbuss
|
dbus-test-tool
|
er et verktøy for å hjelpe pakker å teste D-Bus
|
dbus-update-activation-environment
|
oppdaterer miljøvariabler som vil bli satt for
D-Bus økttjenester
|
dbus-uuidgen
|
Genererer en universell unik ID
|
libdbus-1
|
Inneholder API funksjoner som brukes til å kommunisere
med meldingsbussen til D-bus
|