El escritorio incluye el comando dtaction para ejecutar acciones desde una línea de comandos. Se puede utilizar dtaction para ejecutar acciones desde:
Secuencias
Otras acciones
Una línea de comandos de un emulador de terminal
dtaction [-user nombre_usuario] [-execHost nombre_sistema] \ nombre_acción [argumento [argumento]...]
-user nombre_usuario: proporciona la posibilidad de ejecutar la acción como un usuario distinto. Si un usuario distinto de nombre_usuario invoca a dtaction, se muestra un indicador para la contraseña.
-execHost nombre_sistema: sólo para acciones COMMAND; especifica el sistema donde se ejecutará el comando.
argumento: argumentos de la acción; generalmente argumentos de archivo.
El cliente de dtaction posee opciones adicionales de línea de comandos. Para más información, véase la página del comando man dtaction(1).
Utilice dtaction en la EXEC_STRING de la acción.
Por ejemplo, la siguiente acción utiliza una acción incorporada llamada Spell (la acción está etiquetada como 'Revisar ortografía' en el Gestor de aplicaciones). La nueva acción ejecuta el Editor de textos y la acción Spell, mostrando los errores de ortografía en una ventana del emulador de terminal distinta.
ACTION EditAndSpell { WINDOW_TYPE NO_STDIO EXEC_STRING /bin/sh -c 'dtaction Spell \ %Arg_1'Archivo:'%; dtpad %Arg_1%' }
Utilice la siguiente sintaxis en la EXEC_STRING:
EXEC_STRING dtaction -user nombre_usuario nombre_acción [argumento_archivo]
El nuevo usuario (nombre_usuario) debe tener acceso para mostrar en el sistema, mediante uno de los mecanismos siguientes:
Permiso de lectura en el archivo .Xauthority del usuario que inició la sesión.
O bien, permiso de xhost
Por ejemplo, las dos acciones siguientes ofrecen la posibilidad de convertirse en usuario root y editar un archivo app-defaults.
ACTION AppDefaults { WINDOW_TYPE NO_STDIO EXEC_STRING /usr/dt/bin/dtaction -user root \ EditAppDefaults %Arg_1'Archivo:'% } ACTION EditAppDefaults { WINDOW_TYPE TERMINAL EXEC_STRING /bin/sh -c 'chmod +w %Arg_1%; \ vi %Arg_1%; chmod -w %Arg_1%' }