Innhold
En liste over installerte filer, sammen med deres korte beskrivelser finner du på ../../../../lfs/view/systemd/chapter08/dbus.html#contents-dbus.
Selv om D-Bus ble bygget i LFS, det er noen funksjoner levert av pakken som andre BLFS pakker trenger, men deres avhengigheter passet ikke inn i LFS.
Utviklingsversjoner av BLFS kan ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden den siste stabile versjonene av bøkene.
Nedlasting (HTTP): https://dbus.freedesktop.org/releases/dbus/dbus-1.14.10.tar.xz
Nedlasting MD5 sum: 46070a3487817ff690981f8cd2ba9376
Nedlastingsstørrelse: 1.3 MB
Estimert diskplass som kreves: 23 MB (legg til 25 MB for tester)
Estimert byggetid: 0.2 SBU (legg til 1.5 SBU for tester)
Xorg Biblioteker (for dbus-launch programmet)
Systemd-256.5 (kjøretid, for registrering av tjenester lansert av D-Bus øktnissen som systemd brukertjenester); For testene: D-Bus Python-1.3.2, PyGObject-3.50.0, og Valgrind-3.24.0; for dokumentasjon: Doxygen-1.12.0, xmlto-0.0.29, Ducktype, og Yelp Tools
Installer D-Bus ved å kjøre følgende kommandoer (det kan være lurt å se gjennom utdataene fra ./configure --help først og legg til ønskede parametere til configure kommandoen vist nedenfor):
./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --runstatedir=/run \ --enable-user-session \ --disable-doxygen-docs \ --disable-xml-docs \ --disable-static \ --docdir=/usr/share/doc/dbus-1.14.10 \ --with-system-socket=/run/dbus/system_bus_socket && make
Se nedenfor for testinstruksjoner.
Nå, som root
bruker:
make install
Hvis du bruker en DESTDIR installasjon, dbus-daemon-launch-helper må
fikses etterpå. Utsted, som root
bruker:
chown -v root:messagebus /usr/libexec/dbus-daemon-launch-helper && chmod -v 4750 /usr/libexec/dbus-daemon-launch-helper
Mange tester er deaktivert med mindre både D-Bus Python-1.3.2 og PyGObject-3.50.0 har blitt installert. Det må kjøres som en uprivilegert bruker fra en lokal økt med bussadresse. For å kjøre standard tester utsted make check.
Hvis du vil kjøre enhetsregresjonstestene, krever konfigureringen tilleggsparametere som viser tilleggsfunksjonalitet i binærfiler som ikke er ment å brukes i en produksjonsbygning av D-Bus. Hvis du ønsker å kjøre testene, utsted følgende kommandoer (for testene trenger du ikke å bygge dokumenter):
make distclean && PYTHON=python3 ./configure --enable-tests \ --enable-asserts \ --disable-doxygen-docs \ --disable-xml-docs && make && make check
En test, test-autolaunch, er kjent for å mislykkes. Det har vært rapporter om at testene kan mislykkes hvis de kjøres i et Midnight Commander skall. Du kan få feilmeldinger om at minnet er tomt når kjører testene. Disse er normale og kan trygt ignoreres.
--disable-doxygen-docs
:
Denne bryteren deaktiverer at doxygen dokumentasjon bygges og
installeres, hvis du har doxygen
installert. Hvis doxygen er
installert, og du ønsker å bygge dem, fjern denne parameteren.
--disable-xml-docs
: Denne
bryteren deaktiverer at html dokumentasjon bygges og installeres,
hvis du har xmlto installert. Hvis
xmlto er installert, og du ønsker
å bygge dem, fjern denne parameteren.
--disable-static
: Denne
bryteren forhindrer installasjon av statiske versjoner av
bibliotekene.
--enable-user-session
:
Denne parameteren aktiverer per bruker DBus-økter med systemd.
--with-system-socket=/run/dbus/system_bus_socket
:
Denne parameteren spesifiserer plasseringen av systembuss socket.
--enable-tests
: Bygger
ekstra deler av koden for å støtte alle tester. Ikke bruk på en
produksjonsbygning.
--enable-embedded-tests
: Bygger ekstra
deler av koden for kun å støtte enhetstester. Ikke bruk på en
produksjonsbygning.
--enable-asserts
: Gjør det
mulig å kjøre feilsøkingskode påstander for utsagn som normalt
antas å være sanne. Dette forhindrer advarsel om det '--enable-tests
' på egen hånd er bare
nyttig for profilering og gir kanskje ikke sanne resultater for
alle tester, men legger til sin egen MERK at dette ikke skal brukes
i et produksjonsbygg.
Konfigurasjonsfilene oppført ovenfor bør sannsynligvis ikke bli
modifisert. Hvis det kreves endringer, bør du opprette
/etc/dbus-1/session-local.conf
og/eller /etc/dbus-1/system-local.conf
og lage
eventuelle ønskede endringer i disse filene.
Hvis noen pakker installerer en D-Bus .service
fil utenfor standard /usr/share/dbus-1/services
mappen, den mappen
skal legges til den lokale sesjonskonfigurasjonen. For eksempel,
/usr/local/share/dbus-1/services
kan legges til ved å utføre følgende kommandoer som root
bruker:
cat > /etc/dbus-1/session-local.conf << "EOF"
<!DOCTYPE busconfig PUBLIC
"-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
<!-- Search for .service files in /usr/local -->
<servicedir>/usr/local/share/dbus-1/services</servicedir>
</busconfig>
EOF
Det er mange metoder du kan bruke for å starte en sesjonsnisse ved å bruke dbus-launch kommandoen. Gjennomgå dbus-launch manualsiden for detaljer om tilgjengelige parametere og alternativer. Her er noen forslag og eksempler:
Legg til dbus-launch til linjen i
~/.xinitrc
filen som starter
det grafiske skrivebordsmiljøet.
Hvis du bruker gdm eller en annen
skjermbehandler som kaller ~/.xsession
filen, kan du legge til
dbus-launch
til linjen i din ~/.xsession
fil som starter det grafiske skrivebordsmiljøet. Syntaksen
vil være lik eksemplet i ~/.xinitrc
filen.
Eksemplene vist tidligere bruker dbus-launch for å
spesifisere et program som skal kjøres. Dette har fordelen
(når du også bruker --exit-with-x11
parameteren)
å stoppe sesjonsnissen når det angitte programmet stoppes.
Du kan også starte sesjonsnissen i systemet ditt eller
personlige oppstartsskript ved å legge til følgende linjer:
# Start the D-Bus session daemon
eval `dbus-launch`
export DBUS_SESSION_BUS_ADDRESS
This method will not stop the session daemon when you exit
your shell, therefore you should add the following line to
your ~/.bash_logout
file:
# Kill the D-Bus session daemon
kill $DBUS_SESSION_BUS_PID
En liste over installerte filer, sammen med deres korte beskrivelser finner du på ../../../../lfs/view/systemd/chapter08/dbus.html#contents-dbus.