oui. au terminal, pas à la commande qui y est en cours d'exécution. peu importe, vim, nano, bash, ou telnet, c'est le terminal qui reçoit le texte, et qui l'affiche.
c'est son boulot : transmettre le texte tapé à la commande en cours, et afficher le résultat retourné par la commande en cours.
là, tu lui envoies du texte, alors il l'affiche.
oui bien je cherche toujours le copier coller mais en mode clavier pas souris parce que cette solution fonctionne bien ! a priori ...
je laisse donc le post au cas ou quelqu'un a une idée ...
merci
pourtant ici j'ai l'impression que c'est quasiment la mème chose il envoie bien sur /dev/pts/1 ???? Bon a voir
Code : Sélectionner tout - Visualiser dans une fenêtre à part sudo perl -e 'require "sys/ioctl.ph";ioctl(STDIN, &TIOCSTI, $_) for split "", join "", @ARGV;' "ls -l" $'\n' </dev/pts/1
En bash,
Pour récupérer le presse-papiers :Pour écrire dans le presse-papiers :
Code bash : Sélectionner tout - Visualiser dans une fenêtre à part memoire=$(xclip -o 2>/dev/null)Pour taper Alt+e puis p dans Firefox :
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo -n "Blablablah. Je ne dis jamais Blablablah." | xclip
À toi de trouver le numéro de ta fenêtre qui héberge Telnet. Cependant, J'insiste. Je ne vois pas pourquoi tu devrais passer par ta fenêtre déjà ouverte. Contacte le serveur telnet directement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 wid=$(/usr/bin/xdotool search --name "Firefox" | head -1) /usr/bin/xdotool key --delay 500 --window $wid alt+e p
Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.
merci Flodelarab pour le presse papiers ! par contre ce n'est pas dans firefpox que je souhaite faire copier coller mais d'une fenetre tty à une autre , en mode commandes !
il mesemble egalement en envoyant le presse papier vers /dev/pts/num_telnet que ca ne fonctionne pas mieux ! ca fonctionne si je le recupere depuis une deuxieme fenetre mais depuis celle ci directement sauf que si elle est occupé par telnet je ne sais comment procedé !
ça m'a l'air bien compliqué ton affaire...
Essaye de nous donner un contexte:
-Ton telnet tu l'ouvre comment, en ouvrant un terminal manuellement et tu saisis telnet dedans ?
-Ton autre terminal, il a quoi en plus que l'autre ne peut avoir ? que fais tu en fait pour avoir besoin de copier depuis ce terminal vers celui du telnet ?
Parce que, ce que Flodelarab essaye de te faire comprendre, c'est que l'on peut très bien fournir des informations à ta session telnet via une redirection ou au pire, il existe des outils tel que expect qui permettent de faire de l'automatisation de saisie quand on ne peut pas utiliser la redirection.
Mais pour pouvoir t'aider plus, il nous faudrait plus d'informations, comme par exemple le besoin en général (tu as bien une raison pour vouloir faire un copier/coller inter-terminal ? )
Cordialement.
Alors, je chipote aussi, car le coté "prédéfini" est la limite de l'imagination du dev
Cordialement.
j'ai essayer de rediriger les entrees sur telnet mais je n'y arrive pas la session se termine automatiquement si je met une redirection !
bien alors j'explique cela !
1. je me connect a mon server (packet radio ) avec une console donc en local comme cela :ce termianl m'envoie via un recepteur sdr toutes stations que je recois et qui appellent !
Code : Sélectionner tout - Visualiser dans une fenêtre à part telnet 192.168.1.15 port | tee fichier_reception .txt
2. j'ai ecris un petit scrip qui recupere chaque liges (spots) pour traiter celon les continents et je les envoies dans un autre fichier text
3. je connect une autre consoleet telnet pour me connecter a un serveur du japon en l'occurence :pour envoyer l'information aux autres operateurs connectes au serveur ici
Code : Sélectionner tout - Visualiser dans une fenêtre à part telnet 7n4twl.homeip.net 8000
maintenant le but est de reinjecter les spots au " telnet 7n4twl.homeip.net 8000 " qui manuellement est la commande " dx 14000 f8zzz" sauf que je cherche a rentrer cette commande sans clavier exemple :
donc je recupere ce que je recois pour informer les autres operateurs !
Code : Sélectionner tout - Visualiser dans une fenêtre à part tail -n1 new_spot.txt >/dev/pts/0
fichier_reception.txt et new_spot.txt sont les mêmes fichiers ou new_spot.txt est le résultat d'un filtre sur fichier_reception.txt ?
Après, le mieux serait peut-être d'ouvrir juste une connexion sur ton serveur du japon sans passer par un terminal et d'utiliser des redirection de type pipe ou pipe nommé.
D'ailleurs, on peut le faire en pur builtin bash maintenant (exemple) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 $ exec 3<>/dev/tcp/www.developpez.com/80 $ echo "GET / HTTP/1.1" 1>&3 $ cat <&3 HTTP/1.1 400 Bad Request Date: Sat, 09 May 2020 12:14:12 GMT Server: Apache/2.4.25 (Debian) Content-Length: 301 Connection: close Content-Type: text/html; charset=iso-8859-1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>400 Bad Request</title> </head><body> <h1>Bad Request</h1> <p>Your browser sent a request that this server could not understand.<br /> </p> <hr> <address>Apache/2.4.25 (Debian) Server at localhost Port 80</address> </body></html>
Cordialement.
oui new_spot est le resultat de filtres ..... par rapport au continent de la frequence et je supprime un partie de la chaine d'origine qui donne des infos inutiles .. apres je le renvoie au strict neccessaire la commande dx suivie de la frequence et de l'indicatif ) soit dx 14025 z35m !
pour la suite j'ai pas compris grand chose ! a part que tu t'es connecté au serveur de ce site ! mais via http !
par contre je suis fortement interessé par tes redirection sur le server telnet je n'ai pas reussi ! avec les tube de mon coté
si tu peux m'eclaicir c'est top
pour info donc au final je creé un fichier avec des indicatifs prets a etre envoyer ( par exemple new_spot ) que j'envoie avec tail .head voir via variable ....ca ca va en principe ..!
Bon, à priori, tu ne pourras pas passer par des redirections si ton serveur japonais est un vrai protocol telnet (d'ou mon conseil en MP). par contre tu as des outils tel que expect pour ça.
Cordialement.
j'ai reussi a me connecte comme ca mais bon j'arrive pas a envoyer mes spots ........ peut etre un bon debut qui sait !
mais rien de plus encore je cherche !
Code : Sélectionner tout - Visualiser dans une fenêtre à part exec 3 <>/dev/pts/0
Alors, après quelques tests, ce qui semble fonctionner:
On va créer une fifo:
Dans le terminal ou tu lances ton telnet au japon:
Code : Sélectionner tout - Visualiser dans une fenêtre à part mkfifo /tmp/tubein
Et depuis un autre terminal, tu pourras écrire les commandes que tu veux dans /tmp/tubein comme tail -n1 fichier_filtrer >/tmp/tubein (d'ailleurs, faudra aussi que tu passe par là echo XXXXX >/tmp/tubein pour te connecter)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 exec 3<>/dev/tcp/7n4twl.homeip.net/8000 while true ; do cat </tmp/tubein >&3 ; done & cat <&3
Cordialement.
disedorgue super c'est du code ! j'ai mis ca dans un script a super co fonctionne niquel ! depuis le temps que je suis desus a chercher sur le net et les bouquains ...... grand merci !
tout n'est pas clair pour moi .... mais ca viendra ... ! bon reste quelques petites finitions au prog et nikel .......
merci encore
la boucle while est-elle indispensable ?Envoyé par diesorgue?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 exec 3<>/dev/tcp/7n4twl.homeip.net/8000 tail -f /tmp/tubein >&3 & cat <&3
J'y ai aussi pensé après coup, ça peut aussi le faire...
La seule différence que je vois, c'est que par la boucle while, on peut avoir une rupture de fichier temporaire sans que la boucle s'arrête pour autant le temps que l'on résolve la rupture.
Par exemple, si on supprime la fifo, dans le cas du tail, il ne faudra pas oublié de le relancer en arrière plan sur le même terminal une fois la fifo restaurée, avec la boucle on n'a pas ce souci...
Après, c'est juste un choix.
Cordialement.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager