Solución:
Larga historia corta:
Utilice un guión.
#! /bin/sh
# With some window selection magic, or a sleep
# if you want to do that manually.
xdotool type word
xdotool key Return
Y poner la ruta del guión en el Exec
campo.
Larga historia:
De acuerdo con la xdotool
página de manual:
type
Supports newlines and tabs (ASCII newline and tab).
With respect to "COMMAND CHAINING", this command consumes the
remainder of the arguments and types them. That is, no commands can
chain after 'type'.
Encadenamiento de comandos a través de ;
o &
no es posible, ya que esa es la sintaxis de shell y las aplicaciones de inicio no son compatibles con la sintaxis de shell. Sin embargo, si todo lo que desea hacer es presionar Ingresar después de escribir algo, hay una forma indirecta de hacerlo.
Cuando dice “ASCII” nueva línea, no significa un simple n
. Y sustitución de comandos (xdotool type "$(printf 'n')"
, digamos) come nuevas líneas finales. Siguiendo esto xdotools
publicación del foro, probé esto:
xdotool type "$(printf 'daten ')"
Y funcionó. Pero solo funciona si hay algún carácter después del n
, y esto obviamente deja un espacio final, que no sería lo que desea. Lo modifiqué a:
xdotool type "$(printf 'datene ')"
Y esto funciona y no deja espacio al final. Sin embargo, podría causar problemas a quienes usan el modo Vi en su shell.
Gracias a los comentarios de @ steeldriver, descubrí que esto se debía a que lo probé en la misma terminal en la que estaba ejecutando los comandos. Solo un pequeño espacio entre mi presión Ingresar y el xdotool
El comando fue suficiente para que una sola nueva línea se registre correctamente. Por lo tanto:
sleep 0.1; xdotool type $'daten'
Entonces, o extendiendo la línea citandola:
xdotool type 'date
'
o usar la interpretación de shell como sugirió @steeldriver parece la opción correcta.
Sin embargo, un script que contiene:
#! /bin/sh
sleep 1
xdotool type date
xdotool key Return
en el Exec
el campo funcionó bien. De hecho, siempre recomiendo usar un script para comandos complejos en un archivo de escritorio.
Puedes tener un guión con /usr/bin/xdotool
en el shebang, pero la página de manual dice “script
el modo no está completamente desarrollado y puede caer por debajo de sus expectativas “, así que me limité a los scripts de bash.
Podría haber estado viendo cosas, pero en mis primeros intentos, tuve que poner un (pequeño) . Eso fue un artefacto de probarlo en la terminal que estaba ejecutando los comandos en lugar de otra ventana.sleep
Entre los type
y key
comandos