Esto no funciona con Wayland; Si estás usando Ubuntu 17.10 y no cambiaste a Xorg al iniciar sesión, esta solución no es para ti.
Puedes usar xdotool
para eso. Si el retraso entre las pulsaciones de teclas debe ser constante , es tan simple como eso:
xdotool type --delay 100 something
Esto escribe something
con un retraso de 100
milisegundos entre cada pulsación de tecla.
Si el retraso entre las pulsaciones de teclas debe ser aleatorio , digamos de 100 a 300 milisegundos, las cosas se vuelven un poco más complicadas:
$ text="some text"
for ((i=0;i<${#text};i++));
do
if [[ "${text:i:1}" == " " ]];
then
echo -n "key space";
else
echo -n "key ${text:i:1}";
fi;
[[ $i < $((${#text}-1)) ]] && echo -n " sleep 0.$(((RANDOM%3)+1)) ";
done | xdotool -
Este for
bucle pasa a través de cada letra de la cadena guardado en la variable text
, la impresión, ya sea key <letter>
o key space
en el caso de un espacio seguido de sleep 0.
y un número aleatorio entre 1 y 3 ( xdotool
's sleep
interpreta el número como segundos). Luego se canaliza toda la salida del bucle xdotool
, que imprime las letras con el retraso aleatorio en el medio. Si desea cambiar la demora, simplemente cambie la parte, siendo el límite inferior y el superior, durante 0.2 a 0.5 segundos sería .(RANDOM%x)+y
y
x-1+y
(RANDOM%4)+2
Tenga en cuenta que este enfoque no imprime el texto, sino que lo escribe exactamente como lo haría el usuario, sintetizando pulsaciones de teclas individuales. En consecuencia, el texto se escribe en la ventana actualmente enfocada; si cambia el foco, la parte del texto se escribirá en la ventana recién enfocada, que puede o no ser lo que desea. En cualquier caso, eche un vistazo a las otras respuestas aquí, ¡todas las cuales son brillantes!