Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 11/12/2018, à 10:28

cosmoff

probleme avec la redirection de la sortie standard

Bonjour à tous,
voila j'utilise la commande :

xinput --test 9 | grep "button press"

qui permet d'afficher sur la sortie standart de mon terminal

button press 1
button press 1
...

J'aimerai mettre la sortie dnas un fichier texte. Je tape donc sur mon termminal la commande suivante:

sudo xinput --test 9 | grep "button press" >>/tmp/coco

mais quand j'arrete la commande (ctrl + C) et lis mon fichier coco, rien n'est écris dedans.

Avez vous une idée pourquoi?

Merci d'avance pour votre aide

Hors ligne

#2 Le 11/12/2018, à 10:39

Nasman

Re : probleme avec la redirection de la sortie standard

Et si tu enregistres dans un fichier de ta session ? (sans le sudo)


PC fixe sous Bionic 64 bits et portable avec Focal 64 bits

Hors ligne

#3 Le 11/12/2018, à 10:40

diesel

Re : probleme avec la redirection de la sortie standard

Tu peux essayer sans le pipe "grep" pour voir si ça fonctionne ?

Amicalement.

Jean-Marie


Je déteste qu'on cherche à me faire passer pour un con, j'y arrive déjà très bien tout seul.
Le mort, il sait pas qu'il est mort ; c'est pour les autres que c'est dur.................... Pour les cons, c'est pareil.

Hors ligne

#4 Le 11/12/2018, à 11:16

cosmoff

Re : probleme avec la redirection de la sortie standard

sans le sudo ca ne marche toujours pas.

en retirant le " | grep "button press" " ca marche.

Avez vous une idée du pourquoi et s'il y a une facon de laisser le | grep "button press" et que ca marche

Hors ligne

#5 Le 11/12/2018, à 12:11

moko138

Re : probleme avec la redirection de la sortie standard

Chez moi, xinput --test 9 | grep "button press" n'affiche rien.
  - -

Il n'y a pas besoin de sudo pour écrire dans /tmp qui est en 777. Ainsi :

moko@pc:~$ 
echo test >> /tmp/123
moko@pc:~$ 
moko@pc:~$ cat /tmp/123
test
moko@pc:~$ 

  - -

cosmoff a écrit :

Avez vous une idée du pourquoi et s'il y a une facon de laisser le | grep "button press" et que ca marche

a) Pourquoi
Peut-être que /tmp/echo appartient à root et est en 700 ? Montre

ls -l /tmp/echo

  - -

b) Comment
Si, chez toi, xinput --test 9 | grep "button press" affiche quelque chose,
alors on peut utiliser un fichier intermédiaire :

xinput --test 9 >>/tmp/123    # Ne pas réutiliser /tmp/coco.
grep "button press" /tmp/123 >> /tmp/456  # Ne pas réutiliser /tmp/coco.

Dernière modification par bruno (Le 11/12/2018, à 15:04)


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#6 Le 11/12/2018, à 12:49

diesel

Re : probleme avec la redirection de la sortie standard

Chez moi,

xinput -- test 9

m'affiche les codes des touches du clavier. Donc, rien à voir avec des boutons.

Il est donc normal qu'un

xinput --test 9 | grep "button press"

n'affiche rien. Et rien à voir avec la redirection.

Amicalement.

Jean-Marie


Je déteste qu'on cherche à me faire passer pour un con, j'y arrive déjà très bien tout seul.
Le mort, il sait pas qu'il est mort ; c'est pour les autres que c'est dur.................... Pour les cons, c'est pareil.

Hors ligne

#7 Le 11/12/2018, à 13:57

nany

Re : probleme avec la redirection de la sortie standard

Bonjour,

moko138 a écrit :

Chez moi, xinput --test 9 | grep "button press" n'affiche rien.

diesel83140 a écrit :

Chez moi,

xinput -- test 9

m'affiche les codes des touches du clavier.

Faut adapter la commande pour faire vos tests. tongue

man xinput
xinput --list

Chez moi c’est xinput --test 10 pour avoir la souris et la redirection après le pipe ne fonctionne pas non plus.

Dernière modification par nany (Le 11/12/2018, à 13:57)

En ligne

#8 Le 11/12/2018, à 14:48

cosmoff

Re : probleme avec la redirection de la sortie standard

oui la commande xinput -- test 9 marche pour chez moi. Regarder l'id qui correspond à votre souris avec xinput --list

je ne peux pas le faire en 2 commandes. Je dois faire a tout pris un pipe avec xinput --test 9 | grep "button press" >> /tmp/coco

c'est bizarre que ca ne marche pas quand meme alors que la commande xinput --test 9 | grep "button press" affiche des string dans la sortie standart. il doit y avoir avec une subtilité que je ne connais pas.

J'ai bien sur tous les droits sur /tmp/coco

Dernière modification par cosmoff (Le 11/12/2018, à 14:49)

Hors ligne

#9 Le 11/12/2018, à 15:28

moko138

Re : probleme avec la redirection de la sortie standard

Merci nany !

= =

je ne peux pas le faire en 2 commandes. Je dois faire a tout pris un pipe
(...)
il doit y avoir avec une subtilité que je ne connais pas.

Je crois que la subtilité est là :

man xinput
       --test [-proximity] device
               Register  all  extended events from device and enter an endless loop displaying events received.

Donc quand tu lances ta redirection :

sudo xinput --test 9 | grep "button press" >>/tmp/coco

la boucle est amorcée depuis une fraction de seconde : c'est beaucoup trop tôt.

Chez moi,
echo $(cat /etc/fstab | tail -3 | head -1 ; sleep 1) >> /tmp/456
marche.
Donc, en supposant que tu as besoin de trente secondes pour tester tes boutons, j'essayerais, sans certitude, un :

echo $(grep "button press" $(sudo xinput --test 9) ; sleep 30) >> /tmp/456

%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#10 Le 11/12/2018, à 18:12

moko138

Re : probleme avec la redirection de la sortie standard

Chez moi,  xinput --test 8  produit :

motion a[0]=1071 a[1]=808 
(...)
button release 3 
(...)      

motion
Et  xinput --test 8 | grep -v motion  produit :

button press   1
button release 1 

mais dès que j'essaie d'aller plus loin, j'échoue.


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#11 Le 11/12/2018, à 18:21

maxire

Re : probleme avec la redirection de la sortie standard

Salut,

L'arrêt par ctrl+c est trop violent, par contre si tu lances la commande en arrière-plan la redirection fonctionne :

xinput --test 9 | grep "button press" >>/tmp/coco &

Pour arrêter le tout :

pkill xinput

Exemple :

bionic@asus-arch:~$ rm toto.txt
bionic@asus-arch:~$ xinput --test 12 | grep "key press" > toto.txt &
[1] 8489
bionic@asus-arch:~$ s
bash: s : commande introuvable
[1]+  Fini                    xinput --test 12 | grep --color=auto "key press" > toto.txt
bionic@asus-arch:~$ cat toto.txt
key press   39 
key press   37 
key press   64 
key press   28 
key press   33 
key press   45 
key press   31
key press   33 
key press   30 
key press   28 
key press   36 
bionic@asus-arch:~$

La commande pkill a étét passée à partir d'un autre terminal.


Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail

Hors ligne

#12 Le 11/12/2018, à 18:45

moko138

Re : probleme avec la redirection de la sortie standard

Bravo maxire !


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#13 Le 12/12/2018, à 09:33

cosmoff

Re : probleme avec la redirection de la sortie standard

ok parfait merci beaucoup, mais pourquoi ca marche uniquement en arriere plan ?

Hors ligne

#14 Le 12/12/2018, à 13:11

maxire

Re : probleme avec la redirection de la sortie standard

Je ne sais pas, j'ai eu l'idée de lancer le processus en arrière-plan juste pour voir !
J'imagine que la commande pkill ferme correctement le processus alors que la séquence ctrl+c en termninal est plus brutale.


Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail

Hors ligne