Das Desktop stellt den Befehl dtaction zur Verfügung, mit dem Aktionen an der Befehlszeile gestartet werden können. Aktionen können mit dtaction folgendermaßen ausgeführt werden:
In einem Skript
In einer anderen Aktion
In der Befehlszeile eines Terminal-Emulator-Fensters
dtaction [-user Benutzername] [-execHost Hostname] \ Aktionsname [Argument [Argument]...]
-user Benutzername - Ermöglicht das Ausführen der Aktion für einen anderen Benutzer. Wird dtaction von einem anderen Benutzer als Benutzername aufgerufen, wird eine Paßwortabfrage angezeigt.
-execHost Hostname - Diese Option wird nur für COMMAND-Aktionen verwendet und gibt den Host an, auf dem der Befehl ausgeführt wird.
Argument - Die Argumente für die Aktion (normalerweise Dateiargumente).
Der Client dtaction verfügt über weitere Befehlszeilenoptionen. Weitere Informationen können Sie der Hilfeseite dtaction(1) entnehmen.
Verwenden Sie dtaction im Feld EXEC_STRING der Aktion.
Die Aktion im folgenden Beispiel verwendet eine integrierte Aktion mit dem Namen 'Spell' (die Aktion hat im Anwendungsmanager die Bezeichnung 'Rechtschreibprüfung'). Die neue Aktion führt den Texteditor und die Aktion 'Spell' aus und zeigt die Rechtschreibfehler in einem separaten Terminal-Emulator-Fenster an.
ACTION EditAndSpell { WINDOW_TYPE NO_STDIO EXEC_STRING /bin/sh -c 'dtaction Spell \ %Arg_1"Datei:"%; dtpad %Arg_1%' }
Verwenden Sie folgende Syntax im Feld EXEC_STRING:
EXEC_STRING dtaction -user Benutzername Aktionsname [Dateiargument]
Der neue Benutzer (Benutzername) muß über einen der folgenden Mechanismen den Anzeigezugriff auf das System besitzen:
Leserecht für die Datei .Xauthority des angemeldeten Benutzers
Oder xhost-Rechte
So ermöglichen beispielsweise die folgenden beiden Aktionen dem Benutzer, sich als Root anzumelden und die Datei app-defaults zu bearbeiten.
ACTION AppDefaults { WINDOW_TYPE NO_STDIO EXEC_STRING /usr/dt/bin/dtaction -user root \ EditAppDefaults %Arg_1"Datei:"% } ACTION EditAppDefaults { WINDOW_TYPE TERMINAL EXEC_STRING /bin/sh -c 'chmod +w %Arg_1%; \ vi %Arg_1%; chmod -w %Arg_1%' }