Cela ne fonctionne pas avec Wayland; si vous utilisez Ubuntu 17.10 et n'avez pas changé pour utiliser Xorg à la connexion, cette solution n'est pas pour vous.
Vous pouvez l'utiliser xdotool
pour cela. Si le délai entre les frappes doit être cohérent , c'est aussi simple que cela:
xdotool type --delay 100 something
Cela tape something
avec un délai de quelques 100
millisecondes entre chaque frappe.
Si le délai entre les frappes doit être aléatoire , disons de 100 à 300 millisecondes, les choses se compliquent un peu:
$ 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 -
Cette for
boucle parcourt chaque lettre de la chaîne enregistrée en variable text
, en imprimant soit key <letter>
ou key space
dans le cas d'un espace suivi d' sleep 0.
un nombre aléatoire compris entre 1 et 3 ( xdotool
s sleep
interprète le nombre en secondes). La sortie entière de la boucle est ensuite dirigée vers xdotool
, qui imprime les lettres avec le retard aléatoire entre les deux. Si vous voulez changer le retard, changez simplement la partie, étant la limite inférieure et la limite supérieure - pendant 0,2 à 0,5 seconde, ce serait .(RANDOM%x)+y
y
x-1+y
(RANDOM%4)+2
Notez que cette approche n'imprime pas le texte, mais plutôt le tape exactement comme le ferait l'utilisateur, en synthétisant des touches uniques. En conséquence, le texte est tapé dans la fenêtre actuellement focalisée; si vous modifiez la partie de mise au point du texte sera tapé dans la fenêtre nouvellement mise au point, qui peut ou non être ce que vous voulez. Dans les deux cas, jetez un œil aux autres réponses ici, qui sont toutes géniales!