Utilisation de xdotool

Résolu
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

  1. Contributeur
    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 ;-))
    1. 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 :)
      1. Contributeur
        Avant d'aller plus loin, est-ce que ta demande a un rapport avec l'utilisation de "rvlc" ?
      2. oui ça a un rapport. Je veux taper rvlc dans la console , avec quelques petites commandes après.
      3. Contributeur
        Alors voir la réponse qui t'a été donnée dans le post en question ;-\
      4. Merci pour la réponse :)
        On se retrouve dans l'autre post (j'ai des questions à poser si c'est possible :) )
      5. 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
    2. Contributeur
      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"

      1. Contributeur
        Bon je confirme qu'avec "vlc" ça marche ;-))
      2. Contributeur
        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"
      3. 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 :)
      4. Contributeur
        De rien et merci à toi pour le complément d'info ;-)