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 kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.
Nedlasting (HTTP): https://dbus.freedesktop.org/releases/dbus/dbus-1.16.2.tar.xz
Nedlasting MD5 sum: 97832e6f0a260936d28536e5349c22e5
Nedlastingsstørrelse: 1.1 MB
Estimert diskplass som kreves: 25 MB (legg til 6 MB for tester)
Estimert byggetid: 0.3 SBU (legg til 0.4 SBU for tester)
Xorg Biblioteker (for dbus-launch programmet)
Systemd-257.3 (kjøretid, for registrering av tjenester lansert av D-Bus øktnissen som systemd brukertjenester); For testene: D-Bus Python-1.4.0, PyGObject-3.52.3, og Valgrind-3.24.0; for dokumentasjon: Doxygen-1.13.2, xmlto-0.0.29, Ducktype, og Yelp Tools
Installer D-Bus ved å kjøre følgende kommandoer (det kan være lurt å gå gjennom filen meson_options.txt først og legge til eventuelle ekstra ønskede alternativer til meson oppsettlinjen nedenfor):
mkdir build && cd build && meson setup --prefix=/usr \ --buildtype=release \ --wrap-mode=nofallback \ .. && ninja
Se nedenfor for testinstruksjoner.
Nå, som root
bruker:
ninja 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
Til slutt, fortsatt som root
bruker, gi nytt navn til dokumentasjonsmappen (det eksisterer bare
hvis de valgfrie avhengighetene er oppfylt for minst ett
dokumentasjonsformat) for å gjøre det versjonert:
if [ -e /usr/share/doc/dbus ]; then rm -rf /usr/share/doc/dbus-1.16.2 && mv -v /usr/share/doc/dbus{,-1.16.2} fi
Mange tester er deaktivert med mindre både D-Bus Python-1.4.0 og PyGObject-3.52.3 har blitt installert. Det må kjøres som en uprivilegert bruker fra en lokal økt med bussadresse. For å kjøre standard tester utsted ninja test.
Hvis du vil kjøre enhetsregresjonstestene, krever meson 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):
meson configure -D asserts=true -D intrusive_tests=true && ninja test
--wrap-mode=nofallback
:
Denne bryteren forhindrer meson fra å bruke delprosjektets
tilbakefall for evt avhengighetserklæringer i byggefilene, og
forhindrer det å laste ned eventuell valgfrie avhengigheter som
ikke er installert på systemet.
-D intrusive_tests=true
:
Bygger ekstra deler av koden for å støtte alle tester. Ikke bruk på
en produksjonsbygning.
-D asserts=true
: Gjør det
mulig å kjøre feilsøkingskode påstander for utsagn som normalt
antas å være sanne. Dette forhindrer advarsel om det '-D asserts=true
' 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.