BUSCTL(1)

NAMN
busctl — Introspektera bussen

SYNOPSIS

busctl [FLAGGOR…] [KOMMANDO] [NAMN…]

BESKRIVNING

busctl kan användas för att introspektera och övervaka D-Bus-bussen.

KOMMANDON

Följande kommandon är kända:

lista
    Visa alla partner på bussen, efter deras tjänstenamn. som standard visas både unika och välkända namn, men detta kan ändras med flaggorna --unique och --acquired. Detta är standardåtgärden om inget kommando anges.

    Tillagd i version 209.

status [TJÄNST]
    Visar processinformation och kreditiv för en busstjänst (om en anges med sitt unika eller välkända namn), en process (om en anges med sitt numeriska PID) ägaren av bussen (om ingen parameter anges).

    Tillagd i version 209.

monitor [TJÄNST…]
    Skriv ut meddelanden som utbyts. Om TJÄNST anges, visa då meddelanden till eller ifrån denna partner, identifierad med sitt välkända eller unika namn. Visa annars alla meddelanden på bussen. Använd Ctrl+C för att avsluta utskriften eller begränsa den med flaggan --limit-messages=.

    Tillagd i version 209.

capture [TJÄNST…]
    Liknar monitor men skriver utdata i pcapng-format (för detaljer, se PCAP Next Generation (pcapng) fångstfilformat[1]). Se till att omdirigera standard ut till en fil eller ett rör. Verktyg som wireshark(1) kan användas för att dissekera och visa de resulterande filerna.

    Tillagd i version 218.

tree [TJÄNST…]
    Visar ett objektträd över en eller flera tjänster. Om TJÄNST anges, visa då objektträdet endast för den angivna tjänsten. Visa annars alla objektträd för alla tjänster på bussen som har förvärvat åtminstone ett välkänt namn.

    Tillagd i version 218.

introspect TJÄNST OBJEKT [GRÄNSSNITT]
    Visa gränssnitt, metoder, egenskaper och signaler för det angivna objektet (identifierat via dess sökväg) på den angivna tjänsten. Om gränssnittsargumentet skickas är utdata begränsad till medlemmar av det angivna gränssnittet.

    Tillagd i version 218.

call TJÄNST OBJEKT GRÄNSSNITT METOD [SIGNATUR [ARGUMENT…]]
    Anropa en metod och visa svaret. Tar ett tjänstenamn, en objektsökväg, ett gränssnittsnamn och ett metodnamn. Om parametrar skall skickas till metodanropet krävs en signatursträng, följd av argumenten, vart och ett formaterat som strängar. För detaljer om formateringen som används, se nedan. För att undertrycka utmatning av den returnerade datan, använd flaggan --quiet.

    Tillagd i version 218.

emit OBJEKT GRÄNSSNITT SIGNAL [SIGNATUR [ARGUMENT…]]
    Skicka en signal. Tar en objektsökväg, ett gränssnittsnamn och ett metodnamn. Om parametrar skall skickas krävs en signatursträng, följd av argumenten, vart och ett formaterat som strängar. För detaljer om formateringen som används, se nedan. För att ange målet för signalen, använd flaggan --destination=.

    Tillagd i version 242.

wait [TJÄNST] OBJEKT GRÄNSSNITT SIGNAL
    Vänta på en signal. Tar en objektsökväg, ett gränssnittsnamn och ett signalnamn. Använd flaggan --limit-messages= för att vänta på mer än bara en signal före avslut. För att undertrycka utmatning av den returnerade datan, använd flaggan --quiet\&. Tjänstenamnet kan utelämnas, varvid busctl kommer matcha signaler från godtycklig sändare.

    Tillagd i version 257.

get-property TJÄNST OBJEKT GRÄNSSNITT EGENSKAP…
    Hämta det aktuella värdet på en eller flera objektegenskaper. Tar ett tjänstenamn, en objektsökväg, ett gränssnittsnamn och ett egenskapsnamn. Flera egenskaper kan anges samtidigt, då deras värden kommer visas efter varandra separerade av nyrader. Utdata är som standard i ett kortfattat format. Använd --verbose för ett mer utförligt utdataformat.

    Tillagd i version 218.

set-property TJÄNST OBJEKT GRÄNSSNITT EGENSKAP SIGNATUR ARGUMENT…
    Sätt det aktuella värdet på en objektegenskap. Tar ett tjänstenamn, en objektsökväg, ett gränssnittsnamn och ett egenskapsnamn, en egenskapssignatur, följt av en lista av parametrar formaterade som strängar.

    Tillagd i version 218.

help
    Visa hjälp för kommandosyntaxen.

    Tillagd i version 209.

FLAGGOR

Följande flaggor är kända:

--address=ADRESS
    Anslut till bussen som anges av ADRESS istället för att använda passande standardvärden för antingen systembussen eller användarbussen (se flaggorna --system och --user).

    Tillagd i version 209.

--show-machine
    När en lista över partner visas, visa en kolumn som innehåller namnen på behållarna de tillhör. Se systemd-machined.service(8).

    Tillagd i version 209.

--unique
    När en lista över partner visas, visa endast ”unika” namn (på formen ”:nummer.nummer”).

    Tillagd i version 209.

--acquired
    Motsatsen till --unique — endast ”välkända” namn kommer visas.

    Tillagd i version 209.

--activatable
    När en lista av partner visas, visa endast partner vilka faktiskt inte har aktiverats ännu, men kan startas automatiskt ifall de kontaktas.

    Tillagd i version 209.

--match=MATCHNING
    När meddelanden som utväxlas visas, visa endast delmängden som matchar MATCHNING. Se sd_bus_add_match(3).

    Tillagd i version 209.

--size=
    När kommandot capture används, ange det maximala bussmeddelandet som skall fångas ("snaplen"). Standard är 4096 byte.

    Tillagd i version 218.

--list
    När kommandot tree används, visa en flat lista av objektsökvägar istället för ett träd.

    Tillagd i version 218.

-q, --quiet
    När kommandot call används, undertryck visning av svarsmeddelandens last. Observera att även om denna flagga anges kommer fortfarande fel som returneras att skrivas ut och verktyget kommer indikera om det går eller inte med processens slutkod.

    Tillagd i version 218.

--verbose
    När kommandot call eller get-property används, visa utdata i ett mer utförligt format.

    Tillagd i version 218.

--xml-interface
    När anropet introspect används, dumpa XML-beskrivningen som mottas från D-Bus-anropet org.freedesktop.DBus.Introspectable.Introspect istället för den normala utdatan.

    Tillagd i version 243.

--expect-reply=BOOL
    När kommandot call används, ange huruvida busctl skall vänta på att metodanropet avslutas, skriv ut metodens returnerade svarsdata och returnera om det gick eller inte via processens slutkod. Om detta sätts till ”no” kommer metodanropet att skickas men inget svar förväntas, verktyget avslutar omedelbart, och inget svar kan alltså visas, och ingen indikation om det gick eller inte returneras via slutstatusen. För att bara undertrycka utmatningen av svarmeddelandets last, använd --quiet ovan. Standardvärdet är ”yes”.

    Tillagd i version 218.

--auto-start=BOOL
    När kommandot call eller emit används, ange huruvida metodanropet implicit skall aktivera den anropade tjänsten ifall den inte kör ännu men är konfigureras att startas automatiskt. Standardvärdet är ”yes”.

    Tillagd i version 218.

--allow-interactive-authorization=BOOL
    När kommandot call används, ange huruvida tjänsterna kan framtvinga interaktiv auktorisering när åtgärden utförs, om säkerhetspolicyn är konfigurerad för detta. Standardvärdet är ”yes”.

    Tillagd i version 218.

--timeout=SEK
    När kommandot call används, ange den maximala tiden att vänta på att ett anrop avslutas. När kommandot monitor används, från version v257, ange den maximala tiden att vänta på meddelanden innan automatiskt avslut. Om ingen tidsenhet anges antas sekunder. De vanliga andra enheterna förstås också (ms, us, s, min, h, d, w, month, y). Observera att denna tidsgräns inte gäller om --expect-reply=no används, när den kombineras med kommandot call, eftersom verktyget då inte väntar på något svarsmeddelande. När det inte anges eller sätts till 0 antas standardvärdet ”25s” för kommandot the call, och det avaktiveras för kommandot monitor.

    Tillagd i version 218.

--limit-messages=ANTAL, -N ANTAL
    När kommandot monitor används, om det anges kommer busctl avsluta när det angivna antalet meddelanden har tagits emot och skrivits ut. Detta är användbart i kombination med --match=, för att vänta på det antivna antalet förekomster av ett visst D-Bus-meddelande. Däremot om det inte anges eller sätts till specialvärdet “infinity” är standardbeteendet att fortsätta övervaka utan begränsningar.

    Vid användning med kommandot wait kommer det att göra att busctl avslutar när det angivna antalet DBus-signaler har tagits emot och skrivits ut. Att sätta det till specialvärdet ”infinity” kommer upprätthålla busctl att ta emot och skriva ut signaler kontinuerligt utan begränsningar. När inget anges är standardbeteendet att avsluta omedelbart efter att ha tagit emot och skrivit ut den första signalen.

    Tillagd i version 257.

--augment-creds=BOOL
    Styr huruvida kreditivdata rapporterade av list eller status skall kompletteras med data från /proc/. När detta är påslaget är möjligen den visade datan inkonsistent, eftersom de data som läses från /proc/ kan vara mer aktuella än resten av kreditivinformationen. Standardvärdet är ”yes”.

    Tillagd i version 218.

--watch-bind=BOOL
    Styr huruvida man skall vänta på att det angivna AF_UNIX bussuttaget skall dyka upp i filsystemet före man ansluter till det. Standardvärdet är av. När det är aktiverat kommer verktyget att övervaka filsystemet tills uttaget skapas och sedan ansluta till det.

    Tillagd i version 237.

--destination=TJÄNST
    Tar ett tjänstenamn. När kommandot emit används skickas en signal till den angivna tjänsten.

    Tillagd i version 242.

--user
    Tala med tjänstehanteraren för den användare som anropar, istället för tjänstehanteraren för systemet.

--system
    Tala med tjänstehanteraren för systemet. Detta är det implicita standardvärdet..

-H, --host=
    Kör åtgärden på avstånd. Ange ett värdnamn, eller ett användarnamn och värdnamn avdelade med ”@”, att ansluta till. Värdnamnet kan följas av ett suffix med en port där ssh lyssnar, avdelat av ”:”, och sedan ett behållarnamn, avdelat av ”/”, vilket ansluter direkt till en specifik behållare på den angivna värden. Detta kommer använda SSH för att tala med fjärrmaskinens hanterarinstans. Behållarnamn kan räknas upp med machinectl -H VÄRD. Skriv IPv6-adresser i hakparenteser.

-M, --machine=
    Utför ågärderna på en lokal behållare. Ange ett behållarnamn att ansluta till, eventuellt föregånget av ett användarnamn att ansluta som och ett avdelande tecken ”@”. Om specialsträngen ”.host” används istället för ett behållarnamn upprättas en anslutning till det lokala systemet (vilket är användbart för att ansluta till en viss användares användarbuss: ”--user --machine=lennart@.host”). Om syntaxen ”@” inte används görs anslutningen som användaren root. Om syntaxen ”@” kan antingen vänstersidan eller högersidan utelämnas (men inte båda) i vilket fall den lokala användarens namn och ”.host” impliceras.

-C, --capsule=
    Utför åtgärden på en kapsel. Ange ett kapselnamn att ansluta till. Se capsule@.service(5) för detaljer om kapslar.

    Tillagd i version 256.

-l, --full
    Förkorta inte utdata med ellipser i kommandot list.

    Tillagd i version 245.

--json=LÄGE
    Visar utdata formaterad som JSON. Förväntar sig en av ”short” (för den kortaste möjliga utdatan utan några reduntanta mellanslag eller nyrader), ”pretty” (för en snygg version av detsamma, med indentering och nyrader) eller ”off” (för att slå av JSON-utdata, standardvärdet).

-j
    Ekvivalent med --json=pretty om man kör i en terminal, och --json=short annars.

--no-pager
    Skicka inte utdata i ett rör till en bläddrare.

--no-legend
    Skriv inte ut rubriken, d.v.s. kolumnhuvuden och fötter med tips.

-h, --help
    Skriv en kort hjälptext och avsluta.

--version
    Skriv en kort versionssträng och avsluta .

PARAMETERFORMATERING

Kommandona call och set-property tar en signatursträng följd av en lista av parametrar formaterad som en sträng (för detaljer om D-Bus-signatursträngar, se Kapitlet typsystem i D-Bus-specificationen[2]). För enkla typer skall varje parameter som följer signaturen helt enkelt vara parameterns värde formaterat som en sträng. Positiva booleska värden kan formateras som ”true”, ”yes”, ”on” eller ”1”; negativa booleska värden kan angess som ”false”, ”no”, ”off” eller ”0”. For För vektorer skall ett numeriskt argument med antalet poster följt av posterna anges. För varianter skall signaturen för innehållet anges, följd av innehållet. För ordböcker (dictionaries) och poster skall innehållet i dem anges direkt.

Till exempel,

    s jawoll

är formateringen av en enda sträng ”jawoll”.

    as 3 hej världen apa

är formateringen av en strängvektor med tre poster, ”hej”, ”världen” och ”apa”.

    a{sv} 3 Ett s Eins Två u 2 Ja b true

är formateringen av en ordboksvektor som avbildar strängar på varianter, bestående av tre poster. Strängen ”Ett” tilldelas strängen ”Eins”. Strängen ”Två” tilldelas det teckenlösa 32-bitars heltalet 2. Strängen ”Ja” tilldelas en positiv boolean.

Observera att kommandona call, get-property, introspect även kommer generera utdata i detta format som den returnerade datan. Eftersom detta format ibland är för kortfattat för att enkelt kunna förstås kan kommandona call och get-property generera en mer utförlig, flerradig utdata när de får flaggan --verbose.

EXEMPEL

Exempel 1. Skriv och läs en egenskap

Följande två kommandons skriver först en egenskap och läser sedan tillbaka den. Egenskapen finns på objektet ”/org/freedesktop/systemd1” i tjänsten ”org.freedesktop.systemd1”. Namnet på egenskapen är ”LogLevel” på gränssnittet ”org.freedesktop.systemd1.Manager”. Egenskapen innehåller en ensam sträng:

    # busctl set-property org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager LogLevel s debug
    # busctl get-property org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager LogLevel
    s "debug"

Exempel 2. Kortfattad och utförlig utskrift

De följande två kommandona läser en egenskap som innehåller en vektor av strängar, och visar först den på kortfattat format, följt av utförligt format:

    $ busctl get-property org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager Environment
    as 2 "LANG=en_US.UTF-8" "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"
    $ busctl get-property --verbose org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager Environment
    ARRAY "s" {
            STRING "LANG=en_US.UTF-8";
            STRING "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin";
    };

Exempel 3. Anrop av en metod

Följande kommandot anropar metoden ”StartUnit” på gränssnittet ”org.freedesktop.systemd1.Manager” i objektet ”/org/freedesktop/systemd1” i tjänsten ”org.freedesktop.systemd1”, och skickar två strängar till den ”cups.service” och ”replace”. Som ett resultat av metodanropet mottas och visas en ensam sökväg till ett objekt:

    # busctl call org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager StartUnit ss "cups.service" "replace"
    o "/org/freedesktop/systemd1/job/42684"

SE ÄVEN

dbus-daemon(1), D-Bus[3], sd-bus(3), varlinkctl(1), systemd(1), machinectl(1), wireshark(1)

NOTERINGAR

1.  PCAP Next Generation (pcapng) fångstfilformat
    https://github.com/pcapng/pcapng/

2.  Typsystemkapitlet i D-Bus-specifikationen
    https://dbus.freedesktop.org/doc/dbus-specification.html#type-system

3.  D-Bus
    https://www.freedesktop.org/wiki/Software/dbus

ÖVERSÄTTNING
Den svenska översättningen av denna manualsida skapades av Göran Uddeborg <goeran@uddeborg.se>

Denna översättning är fri dokumentation; läs GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) eller senare för upphovsrättsvillkor. Vi tar INGET ANSVAR.

Om du hittar fel i översättningen av denna manualsida, skicka ett mail till Tp-sv@listor.tp-sv.se.