BUSCTL(1) busctl BUSCTL(1) BEZEICHNUNG busctl - Den Bus prufen UBERSICHT busctl [OPTIONEN] [BEFEHL] [NAME] BESCHREIBUNG busctl kann zum Prufen und Uberwachen des D-Bus-Busses verwandt werden. BEFEHLE Die folgenden Befehle werden verstanden: list Zeigt alle Peers (Gegenstellen) durch ihren Dienstenamen auf dem Bus. Standardmassig werden sowohl eindeutige als auch gut bekannte Namen angezeigt, dies kann aber mit den Schaltern --unique und --acquired geandert werden. Dies ist die Vorgabeaktion, falls kein Befehl angegeben ist. Hinzugefugt in Version 209. status [DIENST] Zeigt Prozessinformationen und Berechtigungsnachweise eines Bus-Dienstes (falls einer durch seinen eindeutigen oder gut bekannten Namen angegeben ist), eines Prozesses (falls einer durch seine numerische PID angegeben ist) oder des Eigentumers des Busses (falls kein Parameter angegeben ist). Hinzugefugt in Version 209. monitor [DIENST] Schreibt die ausgetauschten Nachrichten raus. Falls DIENST angegeben ist, werden die Nachrichten von und an diesen Peer (Gegenstelle), der durch seinen gut bekannten oder eindeutigen Namen identifiziert ist, angezeigt. Andernfalls werden alle Nachrichten auf dem Bus angezeigt. Verwenden Sie Strg+C, um die Ausgabe abzubrechen. Hinzugefugt in Version 209. capture [DIENST] Ahnlich zu monitor, schreibt die Ausgabe aber im Pcap-Format (fur Details siehe Dateierfassungsformat PCAP Nachste Generation (pcapng)). Stellen Sie sicher, dass die die Standardausgabe in eine Datei oder Pipe umgelenkt ist. Werkzeuge wie wireshark(1) konnen zum Analysieren und Anschauen der entstehenden Dateien verwandt werden. Hinzugefugt in Version 218. tree [DIENST] Zeigt einen Objektbaum von einem oder mehreren Diensten. Falls DIENST angegeben ist, wird nur der Objektbaum des angegebenen Dienstes gezeigt. Andernfalls werden alle Objektbaume aller Dienste auf dem Bus, der mindestens einen gut bekannten Namen erlangte, angezeigt. Hinzugefugt in Version 218. introspect DIENST OBJEKT [SCHNITTSTELLE] Zeigt Schnittstellen, Methoden, Eigenschaften und Signale der angegebenen Objekte (identifiziert durch ihren Pfad) auf dem angegebenen Dienst. Falls das Schnittstellenargument ubergeben wurde, wird die Ausgabe auf die Elemente auf der angegebenen Schnittstelle beschrankt. Hinzugefugt in Version 218. call DIENST OBJEKT SCHNITTSTELLE METHODE [SIGNATUR [ARGUMENT]] Ruft eine Methode auf und zeigt die Antwort. Akzeptiert einen Dienstenamen, einen Objektpfad, Schnittstellennamen und Methodennamen. Falls Parameter an den Methodenaufruf ubergeben werden sollen, wird eine Signaturzeichenkette, gefolgt von den Argumenten, die individuell als Zeichenketten formatiert sind, benotigt. Fur Details uber die verwandte Formatierung siehe unten. Um die Ausgabe der zuruckgelieferten Daten zu unterdrucken, verwenden Sie die Option --quiet. Hinzugefugt in Version 218. emit OBJEKT SCHNITTSTELLE SIGNAL [SIGNATURE [ARGUMENT]] Sendet ein Signal. Akzeptiert einen Objektpfad, Schnittstellennamen und Methodennamen. Falls Parameter ubergeben werden sollen, wird eine Signaturzeichenkette, gefolgt von den Argumenten, die individuell als Zeichenketten formatiert sind, benotigt. Fur Details uber die verwandte Formatierung siehe unten. Um das Ziel des Signals anzugeben, verwenden Sie die Option --destination=. Hinzugefugt in Version 242. get-property DIENST OBJEKT SCHNITTSTELLE EIGENSCHAFT Ruft den aktuellen Wert einer oder mehrerer Objekteigenschaften ab. Akzeptiert einen Dienstenamen, einen Objektpfad, einen Schnittstellennamen und einen Eigenschaftennamen. Mehrere Eigenschaften konnen auf einmal, getrennt durch Zeilenumbruche, angegeben werden. In diesem Falle werden ihre Werte einer nach dem anderen angezeigt. Die Ausgabe ist standardmassig im knappen Format. Verwenden Sie --verbose fur ein ausfuhrlicheres Ausgabeformat. Hinzugefugt in Version 218. set-property DIENST OBJEKT SCHNITTSTELLE EIGENSCHAFT SIGNATUR ARGUMENT Setzt den aktuellen Wert einer Objekteigenschaft. Akzeptiert einen Dienstenamen, Objektpfad, Schnittstellennamen, Eigenschaftsnamen, Eigenschaftssignatur, gefolgt von einer Liste von Parametern, die als Zeichenketten formatiert sind. Hinzugefugt in Version 218. help Zeigt die Hilfe zur Befehlssyntax. Hinzugefugt in Version 209. OPTIONEN Die folgenden Optionen werden verstanden: --address=ADRESSE Verbindet mit dem durch ADRESSE angegebenen Bus, anstatt geeignete Vorgaben fur entweder den System- oder den Benutzerbus zu verwenden (siehe die Optionen --system und --user). Hinzugefugt in Version 209. --show-machine Zeigt bei der Anzeige der Liste der Peers (Gegenstellen) eine Spalte mit den Namen der Container an, zu denen sie gehoren. Siehe systemd-machined.service(8). Hinzugefugt in Version 209. --unique Zeigt bei der Anzeige der Liste der Peers (Gegenstellen) nur >>eindeutige<< Namen (der Form >>:Zahl.Zahl<<) an. Hinzugefugt in Version 209. --acquired Das Gegenteil von --unique -- zeigt nur >>gut bekannte<< Namen an. Hinzugefugt in Version 209. --activatable Zeigt bei der Anzeige der Liste der Peers (Gegenstellen) nur jene an, die tatsachlich noch nicht aktiviert wurden, aber beim Zugriff darauf automatisch gestartet werden konnten. Hinzugefugt in Version 209. --match=TREFFER Zeigt bei der Anzeige der ausgetauschten Nachrichten nur die auf TREFFER passende Teilmenge an. Siehe sd_bus_add_match(3). Hinzugefugt in Version 209. --size= Gibt bei der Verwendung mit dem Befehl capture die maximale Busnachrichtengrosse an, die aufgenommen (>>snaplen<<) werden soll. Standardmassig 4096 Byte. Hinzugefugt in Version 218. --list Zeigt bei der Verwendung mit dem Befehl tree eine flache Liste von Objektpfaden statt eines Baumes an. Hinzugefugt in Version 218. -q, --quiet Unterdruckt bei der Verwendung mit dem Befehl call die Anzeige der Antwortnachrichtennutzlast. Beachten Sie, dass zuruckgelieferte Fehler weiterhin ausgegeben und das Werkzeug den Erfolg oder Misserfolg durch den Exit-Code des Prozesses angeben wird, selbst wenn diese Option angegeben ist. Hinzugefugt in Version 218. --verbose Zeigt bei der Verwendung mit dem Befehl call oder get-property die Ausgabe in einem ausfuhrlicheren Format an. Hinzugefugt in Version 218. --xml-interface Gibt die vom D-Bus-Aufruf org.freedesktop.DBus.Introspectable.Introspect empfangene XML-Beschreibung statt der normalen Ausgabe aus, falls mit dem Aufur introspect verwandt. Hinzugefugt in Version 243. --json=MODUS Zeigt die Ausgabe im JSON-Format an, wenn dies mit dem Befehl call oder get-property verwandt wird. Erwartet entweder >>short<< (fur die kurzest mogliche Ausgabe ohne redundanten Leerraum oder Zeilenumbruche) oder >>pretty<< (fur eine schone Version des gleichen, mit Einruckungen und Zeilenumbruchen). Beachten Sie, dass die Umwandlung von der D-Bus-Anordnung nach JSON auf eine verlustfreie Art erfolgt, was bedeutet, dass Typinformationen in den JSON-Objektbaum eingebettet sind. Hinzugefugt in Version 240. -j Bei dem interaktiven Aufruf vom Terminal aquivalent zu --json=pretty. Andernfalls aquivalent zu --json=short, insbesondere wenn die Ausgabe mittels Pipe an ein anderes Programm weitergeleitet wird. Hinzugefugt in Version 240. --expect-reply=LOGISCH Gitbt bei der Verwendung mit dem Befehl call an, ob busctl auf den Abschluss des Methodenaufrufs warten, die Ausgabe der zuruckgelieferten Methodenantwortdaten ausgeben und Erfolg oder Fehler mittels des Prozess-Exit-Codes zuruckliefern soll. Falls dies auf >>no<< gesetzt ist, wird der Methodenaufruf durchgefuhrt, aber es wird keine Antwort erwartet, das Werkzeug beendet sich sofort und daher kann keine Antwort angezeigt und kein Erfolg oder Misserfolg uber den Exit-Code zuruckgeliefert werden. Um nur die Ausgabe der Antwortnachrichtennutzlast zu unterdrucken, verwenden Sie --quiet oben. Standardmassig >>yes<<. Hinzugefugt in Version 218. --auto-start=LOGISCH Gibt bei der Verwendung mit dem Befehl call oder emit an, ob der Methodenaufruf implizit den aufgerufenen Dienst aktivieren soll, falls er noch nicht laufen sollte, aber fur automatisches Starten konfiguriert ist. Standardmassig >>yes<<. Hinzugefugt in Version 218. --allow-interactive-authorization=LOGISCH Gibt bei der Verwendung mit dem Befehl call an, ob der Dienst interaktive Autorisierung wahrend der Ausfuhrung einer Aktion erzwingen darf, falls die Sicherheitsrichtlinie dafur konfiguriert ist. Standardmassig >>yes<<. Hinzugefugt in Version 218. --timeout=SEK Gibt bei der Verwendung mit dem Befehl call die maximale Zeit, die auf den Abschluss eines Methodenaufrufs gewartet werden soll, an. Falls keine Zeiteinheit angegeben ist, wird Sekunden angenommen. Die normalen anderen Einheiten werden auch verstanden (ms, us, s, min, h, d, w, month, y). Beachten Sie, dass diese Zeituberschreitung nicht angewandt wird, falls --expect-reply=no verwandt wird, da das Werkzeug dann nicht auf eine Antwortnachricht wartet. Falls nicht angegeben oder auf 0 gesetzt, wird die Vorgabe von >>25s<< angenommen. Hinzugefugt in Version 218. --augment-creds=LOGISCH Steuert, ob das Berichten der Berechtigungsnachweise durch list oder status mit Daten aus /proc/ erganzt werden soll. Wenn dies eingeschaltet ist, sind die dargestellten Daten moglicherweise inkonsistent, da die aus /proc/ gelesenen Daten neuer als der Rest der Berechtigungsnachweisinformationen sein konnten. Standardmassig >>yes<<. Hinzugefugt in Version 218. --watch-bind=LOGISCH Steuert, ob auf das Auftauchen des angegebenen AF_UNIX-Bus-Sockets im Dateisystem gewartet werden soll, bevor damit verbunden wird. Standardmassig aus. Falls aktiviert, wird das Werkzeug das Dateisystem beobachten, bis das Socket erstellt ist und sich dann mit ihm verbinden. Hinzugefugt in Version 237. --destination=DIENST Akzeptiert einen Dienstenamen. Bei der Verwendung mit dem Befehl emit wird ein Signal an den angegebenen Dienst ausgesandt. Hinzugefugt in Version 242. --user Kommuniziert mit dem Diensteverwalter des aufrufenden Benutzers statt mit dem Diensteverwalter des Systems. --system Kommuniziert mit dem Diensteverwalter des Systems. Dies ist die implizite Vorgabe. -H, --host= Fuhrt die Aktion aus der Ferne aus. Geben Sie den Rechnernamen oder einen Benutzernamen und Rechnernamen (getrennt durch >>@<<) an, zu dem verbunden werden soll. Dem Rechnernamen darf optional ein Port, auf dem SSH auf Anfragen wartet, getrennt durch >>:<< und dann ein Container auf dem angegebenen Host angehangt werden, womit direkt zu einem bestimmten Container auf dem angegebenen Rechner verbunden wird. Dies verwendet SSH, um mit der Maschinen-Verwalterinstanz auf dem Rechner in der Ferne zu kommunizieren. Container-Namen durfen mit machinectl -H RECHNER aufgezahlt werden. Stellen Sie IPv6-Adressen in Klammern. -M, --machine= Fuhrt die Aktion in einem lokalen Container aus. Geben Sie den Namen des Containers an, zu dem verbunden werden soll. Optional kann diesem ein Benutzername, abgetrennt durch ein >>@<<-Zeichen, als der verbunden werden soll, vorangestellt werden. Falls die besondere Zeichenkette >>.host<< anstelle des Container-Names verwandt wird, wird eine Verbindung zu dem lokalen System aufgebaut (das ist nutzlich, um sich zu dem Benutzerbus eines bestimmten Benutzers zu verbinden: >>--user --machine=lennart@.host<<. Falls die >>@<<-Syntax nicht verwandt wird, wird die Verbindung als Benutzer >>root<< vorgenommen. Falls die >>@<<-Syntax verwandt wird, kann entweder die linke oder die rechte Seite fortgelassen werden (aber nicht beide). In diesem Fall wird der lokale Benutzername und >>.host<< angenommen. -l, --full Verkurzt die Ausgabe im Befehl list nicht. Hinzugefugt in Version 245. --no-pager Leitet die Ausgabe nicht an ein Textanzeigeprogramm weiter. --no-legend Gibt die Legende nicht aus, d.h. die Spaltenkopfe und die Fusszeile mit Hinweisen. -h, --help Zeigt einen kurzen Hilfetext an und beendet das Programm. --version Zeigt eine kurze Versionszeichenkette an und beendet das Programm. PARAMETERFORMATIERUNG Die Befehle call und set-property akzeptieren eine Signaturzeichenkette, gefolgt von einer Liste von als Zeichenketten formatierten Parametern (fur Details uber D-Bus-Signaturzeichenketten siehe das Typesystemkapitel der D-Bus-Spezifikation[2]). Fur einfache Typen sollte jeder der Signatur folgenden Parameter einfach der als Zeichenkette formatierte Parameter sein. Positive logische Werte konnen als >>true<<, yes<<, >>on<< oder >>1<<, negative logische Werte konnen als >>false<<, >>no<<, >>off<< oder >>0<< angegeben sein. Fur Felder soll ein numerisches Argument fur die Anzahl der Eintrage gefolgt von den Eintragen angegeben werden. Fur Varianten soll die Signatur der Eintrage, gefolgt von den Inhalten, angegeben werden. Fur Worterbucher und Strukturen sollen die Eintrage direkt angegeben werden. Beispielsweise ist s jawoll die Formatierung einer einzelnen Zeichenkette >>jawoll<<. as 3 Hallo Welt foobar ist die Formatierung eines Zeichenkettenfeldes mit den drei Eintragen >>Hallo<<, >>Welt<< und >>foobar<<. a{sv} 3 Eins s One Zwei u 2 Ja b true ist die Formatierung eines Worterbuchfeldes, das Zeichenketten auf Varianten abbildet und aus drei Eintragen besteht. Der Zeichenkette >>Eins<< wird >>One<< zugeordnet. Der Zeichenkette >>Zwei<< wird die vorzeichenfreie 32-Bit-Ganzzahl 2 zugeordnet. Der Zeichenkette >>Ja<< wird ein positiver logischer Wert zugeordnet. Beachten Sie, dass die Befehle call, get-property, introspect auch Ausgaben fur die zuruckgelieferten Daten in diesem Format erstellen. Da dieses Format manchmal zu knapp und daher nicht immer leicht verstandlich ist, konnen die Befehle call und get-property eine ausfuhrlichere, mehrzeilige Ausgabe, wenn die Option --verbose ubergeben wird, erzeugen. BEISPIELE Beispiel 1. Eine Eigenschaft lesen und schreiben Die folgenden zwei Befehle schreiben zuerst eine Eigenschaft und lesen sie dann zuruck. Die Eigenschaft wird im Objekt >>/org/freedesktop/systemd1<< des Dienstes >>org.freedesktop.systemd1<< gefunden. Der Name der Eigenschaft ist >>LogLevel<< auf der Schnittstelle >>org.freedesktop.systemd1.Manager<<. Die Eigenschaft enthalt eine einzelne Zeichenkette: # 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" Beispiel 2. Knappe und ausfuhrliche Ausgabe Die folgenden zwei Befehle lesen eine Eigenschaft, die ein Feld von Zeichenketten enthalt, und zeigen sie zuerst in einem knappen, gefolgt von einem ausfuhrlichen 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"; }; Beispiel 3. Eine Methode aufrufen Die folgenden Befehle rufen die Methode >>StartUnit<< auf der Schnittstelle >>org.freedesktop.systemd1.Manager<< des Objektes >>/org/freedesktop/systemd1<< des Dienstes >>org.freedesktop.systemd1<< auf und ubergeben ihr zwei Zeichenketten >>cups.service<< und >>replace<<. Als Ergebnis des Methodenaufrufs wird ein einzelnes Pfadparameterobjekt empfangen und angezeigt: # busctl call org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager StartUnit ss "cups.service" "replace" o "/org/freedesktop/systemd1/job/42684" SIEHE AUCH dbus-daemon(1), D-Bus[3], sd-bus(3), varlinkctl(1), systemd(1), machinectl(1), wireshark(1) ANMERKUNGEN 1. Dateierfassungsformat PCAP Nachste Generation (pcapng) https://github.com/pcapng/pcapng/ 2. Typsystemkapitel der D-Bus-Spezifikation https://dbus.freedesktop.org/doc/dbus-specification.html#type-system 3. D-Bus https://www.freedesktop.org/wiki/Software/dbus UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Helge Kreutzmann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . systemd 255 BUSCTL(1)