Utilisation de xdotool

Résolu/Fermé
albert40 Messages postés 49 Date d'inscription vendredi 18 mars 2011 Statut Membre Dernière intervention 8 novembre 2012 - 10 mai 2011 à 16:14
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 16 mai 2011 à 16:04
Bonjour,

J'aimerais savoir comment utiliser xdotool pour pouvoir écrire dans un terminal. Xdotool est un simulateur de clavier et de souris sous linux.
Quand je tape à la console
xdotool search "Terminal"

J'ai le message d'erreur suivant :
Defaulting to search window name, class, and classname
69206020
69206017

Si quelqu'un a une idée sur la commande correcte qu'il faut entrer.
Merci pour votre aide

3 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
10 mai 2011 à 16:37
Salut,

Ce n'est pas un message d'erreur c'est la sortie normale ;-\

Toi tout ce que tu as à faire c'est de récupérer le ou les identifiants (les 2 chiffres) qui t'intéressent ;-))
0
albert40 Messages postés 49 Date d'inscription vendredi 18 mars 2011 Statut Membre Dernière intervention 8 novembre 2012
10 mai 2011 à 21:34
Bonsoir

Tout d'abord merci pour la réponse :) . Cependant il me reste quelques ambiguités :
1 - pourquoi on m'affiche deux numéros ??
2 - si je veux "pointer" sur la dite fenêtre du terminal, je suppose que la commande à utiliser est windowsfocus
seulement pour la syntaxe je n'arrive pas à bien écrire la commande : faut-il écrire un de ces numéros affichés, les deux ?? ...
3 - Si je veux faire un script fonctionnant avec xdotool, est ce que l'identifiant du terminal est le même ou bien chaque fois je dois le demander ??
Merci pour votre aide et bonne soirée :)
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
10 mai 2011 à 23:02
Avant d'aller plus loin, est-ce que ta demande a un rapport avec l'utilisation de "rvlc" ?
0
albert40 Messages postés 49 Date d'inscription vendredi 18 mars 2011 Statut Membre Dernière intervention 8 novembre 2012
Modifié par albert40 le 10/05/2011 à 23:14
oui ça a un rapport. Je veux taper rvlc dans la console , avec quelques petites commandes après.
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
10 mai 2011 à 23:17
Alors voir la réponse qui t'a été donnée dans le post en question ;-\
0
albert40 Messages postés 49 Date d'inscription vendredi 18 mars 2011 Statut Membre Dernière intervention 8 novembre 2012
10 mai 2011 à 23:29
Merci pour la réponse :)
On se retrouve dans l'autre post (j'ai des questions à poser si c'est possible :) )
0
albert40 Messages postés 49 Date d'inscription vendredi 18 mars 2011 Statut Membre Dernière intervention 8 novembre 2012
15 mai 2011 à 19:33
Bonsoir
Apparemment la méthode utilisant le netcat ne marche pas chez moi :(. Le seul choix qui me reste est l'utilisation de xdotool.
Malheureusement j'ai toujours le même problème utilisant cet outil : comment écrire dans une fenêtre de terminal (déjà ouverte)
Merci pour vos réponses
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
16 mai 2011 à 14:28
Bon en gros :

xdotool search --name "Terminal" | head -1

Te renvoie l'ID de ton Terminal, en prenant ton exemple plus haut ça donnerait :
xdotool search --name "Terminal" | head -1
69206020


Ensuite, par exemple pour envoyer et faire exécuter la commande "ls -l" dans ce terminal, il te suffit de taper :

xdotool windowfocus 69206020 && xdotool type "ls -l" && xdotool key "Return"

0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
16 mai 2011 à 14:41
Bon je confirme qu'avec "vlc" ça marche ;-))
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
16 mai 2011 à 15:28
Un p'tit exemple avec un script...

Dans un terminal je lance vlc :

vlc --intf rc

Puis je lance ce script depuis un autre terminal

#! /bin/bash

WID=$(xdotool search --name "Terminal" | head -1)
xdotool windowfocus ${WID}
xdotool type "add tom_jerry.flv"
xdotool key "Return"
sleep 3
xdotool windowfocus ${WID}
xdotool type "info"
xdotool key "Return"
sleep 5
xdotool type "stats"
xdotool key "Return"
sleep 5
xdotool type "quit"
xdotool key "Return"
0
albert40 Messages postés 49 Date d'inscription vendredi 18 mars 2011 Statut Membre Dernière intervention 8 novembre 2012
16 mai 2011 à 16:01
Merci zipe31 ça marche à merveille:)
J'ajouterai une autre méthode pour chercher l'ID d'une fenêtre:
xdotool getwindowfocus

# elle ramène le ID de la fenêtre active
Après on peut aussi écrire :
xdotool type --window 2222 "ce qu'on veut écrire"

où 2222 est le numéro de l'ID envoyé par la première commande et ça marche aussi.
Encore une fois merci zipe31 pour les explications :)
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
16 mai 2011 à 16:04
De rien et merci à toi pour le complément d'info ;-)
0