KDE mit ´dcop´ steuern
In dem Artikel wird erklärt, wie man mit der dcop-Schnittstelle in KDE umgeht.
dcop-Schnittstelle
Was ist eine dcop-Schnittstelle?
DCOP ist das Desktop Communication Protocol. Damit kann man Anwendungen unter KDE mittels Skript, aber auch mit anderen KDE-Anwendungen, steuern, starten, beenden und so weiter. Wie das funktioniert, zeige ich Ihnen gleich an ein paar einfachen Beispielen.
Grafische Oberfläche kdcop
KDCOP ist eine grafische Oberfläche für dcop. Hier sieht man, was für Anwendungen welche Argumente entgegennehmen. Diese kann man auch gleich testen.
Ein paar praktische Beispiele
Wenn man denn DCOP-Kommandozeilen-Client dcopmit der Option --help aufruft, dann erhält man die generelle Syntax des Kommandos:
dcop [options] [application [object [function [arg1] [arg2] ... ] ] ]
Wenn wir keine Optionen benötigen, dann ist also das erste Argument der Name der Anwendung, die wir steuern wollen, das zweite das Objekt und das dritte die Funktion, die aufgerufen werden soll. Werden Argumente für die Funktion benötigt, so folgen diese hinter dem Funktionsnamen.
Klipper
Bei vielen Kopieraktionen wird es unübersichtlich, also leeren wir den Speicher.
dcop klipper klipper clearClipboardHistory
Hier werden keine Argumente erwartet.
KMix, der Mixer von KDE
Mixer auf 50% Lautstärke regeln.
# dcop kmix Mixer0 setMasterVolume(int percentage) # Grundbefehl, als Argument wird ein int Wert zwischen 0 - 100 erwartet. # int ist ein Datentyp (integer), eine sogenannte Ganzzahl. # Für 50% schreiben wir also... dcop kmix Mixer0 setMasterVolume 50
Die Klammern und das %-Zeichen werden nicht benötigt.
KDE als Nicht-Root-Benutzer herunterfahren
Ohne viel Schnickschnack, wie Sonderberechtigungen durch sudo oder anderen. Man muß nicht am Rechner sitzen und mit der Maus jonglieren. Kann man über einen Cronjob oder auch mit KAlarm als normaler User zeitgesteuert ausführen.
# dcop ksmserver ksmserver logout (int int int) # Der erste int Wert bringt die Anzeige zum Vorschein, so wie sie erscheint # wenn man im K-Menü auf Abmelden drückt. # Der zweite int Wert führt die Befehle <em>‘Rechner neu starten’</em> # oder # <em>‘Rechner ausschalten’</em> (unser Ziel) aus. # Wert <strong>2</strong> ist hier <em>Halt</em> und Wert <strong>1</strong> # bedeutet <em>Reboot</em> # Beim dritten wird man aus KDE ausgeloggt und gelangt wieder zum Anmeldeprompt dcop ksmserver ksmserver logout 0 2 0
Eine kleine Hilfe kann man aufrufen, indem man auf einer Konsole folgendes aufruft: dcop --help. Der Rest sollte soweit selbsterklärend sein. Mit ein wenig Probieren wird man sich recht schnell zurechtfinden.

