IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Envoi de texte d'une console vers une autre pts/0 pts/1 (telnet)


Sujet :

Shell et commandes GNU

  1. #1
    Membre à l'essai
    Homme Profil pro
    apprenti
    Inscrit en
    Mai 2020
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : apprenti

    Informations forums :
    Inscription : Mai 2020
    Messages : 38
    Points : 19
    Points
    19
    Par défaut Envoi de texte d'une console vers une autre pts/0 pts/1 (telnet)
    Bonjour a tous ! apres plusieurs heures a chercher une solution sur internet et via les livres a que je possede je suis bloqué a lors je cherche de l;aide en direct !

    je cherche a copier une ligne de text depuis un fichier text ou via copier colle depuis une fenetre tty vers une autre mais rien ne va comme je le souhaite ! j'ai essayé plusieurs manieres

    1: une commande qui envoie une ligne text en envoie vers dans /dev/pts/1
    cela fonctionne en partie ! la deuxieme fenette qui recoie la ligne est une session telnet , la ligne arrive bien mais si je fais entrer c'est comme si je faisais entre avec une ligne vierge ? alors que si je fais copier coller avec la souris ca passe bien !

    2.j'ai essayer via copier coller en mode clavier ctl + maj + c qui semble fonctionner mais impossible de coller ctl + maj + v ( j'ai essayer avec ksh puis lxterminal et meme gnome terminal rien a faire !


    deux questions donc comment se fait -il que je ne puisse effectuer se copier coller mode clavier ?? La seule maniere c'est ctl+w et ctl +y mais ca ne fonctionne malheuresement que dans le meme terminal !

    et surotut comment puis je faire pour envoyer une ligne vers telnet (depuis un script a la base )

    merci bien !

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 550
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 550
    Points : 19 383
    Points
    19 383
    Par défaut
    Bonjour,

    ça dépend du terminal utilisé.

    peut-être en surlignant, simplement, avec la souris, puis en faisant un clique avec la molette...
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre à l'essai
    Homme Profil pro
    apprenti
    Inscrit en
    Mai 2020
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : apprenti

    Informations forums :
    Inscription : Mai 2020
    Messages : 38
    Points : 19
    Points
    19
    Par défaut
    bonjour N_BaH ! merci de la reponse !

    bien je souhaite effectuer cette manip via iune ligne de commande (script ) genre : terminal1 var="peu importe" echo $var > /dev/pts/2
    ca fonctionne effectivement en mode souris selection / copier / coller !

    je suis en bash shell mais j'ai testé avec hsk et ksh93 rien de mieux

    j'ai egalement changé de terminal essayé avec gnome_terminal pour les manips clavier mais pas bon non plus ! si non a l'origine le terminal est lxterminal !

    ce qui m'ettonne c'est que je n'arrive pas avev le clavier ( ctl + maj + c ) pour copier qui fonctionne (semble t-il) mais pas le coller (ctl +maj+v) rien !

    a copier une ligne d'un terminal a un autre ......d'une maniere ou d'une autre mais de facon automatique !

    je cherche j'essaie mais rien y fait ....

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 550
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 550
    Points : 19 383
    Points
    19 383
    Par défaut
    ne mélange pas tout.
    si tu veux faire ça avec le shell, il est préférable de ne pas évoquer tes tentatives avec la souris.

    par contre, il faut détailler ton objectif :
    tu veux envoyer du texte depuis une session du shell (dans une fenêtre de terminal, ou une console TTY, peu importe)
    vers une autre session (tu parles de telnet) dans une autre session du shell (un autre terminal)

    j'ai compris ?

    mais que doit faire cette ligne, à part s'afficher ?
    il faut détailler ton objectif
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Membre à l'essai
    Homme Profil pro
    apprenti
    Inscrit en
    Mai 2020
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : apprenti

    Informations forums :
    Inscription : Mai 2020
    Messages : 38
    Points : 19
    Points
    19
    Par défaut
    objectif : recuperer depuis un fichier text recuperer une ligne que je veux envoyer dans un terminal deja ouvert avec une session telnet comme si je le faisais manuellement directement dans telnet .... donc recup ligne text envoie vers terminal ouvert example pts/1 .

    ma commande actuelle : cat ligne_text > /dev/pts/1 s'affiche bien dans pts/1 telnet mais rien ne se passe ! meme l'orsque je tape entre manuellement !

    j'ai parler de la souris car j'ai vérifier en faisait manuellement copier coller depuis un terminal vers le terminal avec telnet et fait copier coller et ca fonctionne bien

    en esperant que ca soit plus explicite

    chrisdgy

  6. #6
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 550
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 550
    Points : 19 383
    Points
    19 383
    Par défaut
    àmha, ce n'est pas possible.

    si ce n'est pas telnet, mais vim par exemple, si tu envoies du texte sur le terminal où est ouvert vim, tu vas surcharger le terminal, mais par agir sur vim, ou le fichier ouvert.

    mais, qu'est-ce que tu veux faire avec telnet et ton fichier ?
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  7. #7
    Membre à l'essai
    Homme Profil pro
    apprenti
    Inscrit en
    Mai 2020
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : apprenti

    Informations forums :
    Inscription : Mai 2020
    Messages : 38
    Points : 19
    Points
    19
    Par défaut
    alors comment faire pour imiter la commande copier coller avec la souris qui elle fonctionne .... doit bien y avoir un moyen quand meme !!!

    ou alors dans ce cas comment envoyer une ligne automatiquement dans une session telnet ....le but est une tache automatique genre copier coller entrer !!

  8. #8
    Membre à l'essai
    Homme Profil pro
    apprenti
    Inscrit en
    Mai 2020
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : apprenti

    Informations forums :
    Inscription : Mai 2020
    Messages : 38
    Points : 19
    Points
    19
    Par défaut
    euh oui mais telnet attend ma requette c'est pas le probleme

  9. #9
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    Par défaut
    Bonjour

    Quelques rappels :
    • Le noyau Linux accorde un shell (un truc pour exécuter des machins)
    • Une console où un émulateur de console affiche tous les beaux messages répondus.
    • L'interpréteur de commandes cherche un sens aux caractères que tu tapotes sur ton clavier.


    J'ai le sentiment que quand tu envoies quelque chose vers /dev/pts/whatever, tu demandes à la console d'afficher quelque chose, en snobant totalement l'interpréteur de commande qui est en train d'exécuter une session telnet dans un shell. N'est-ce pas ?

    Pourquoi est-il si vital de passer par cette console ? Ne peux-tu pas envoyer tes commandes telnet directement au serveur telnet ?

    J'ai 2 autres idées qui peuvent t'aider mais elles sont vraiment "hackish".
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  10. #10
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 278
    Points : 12 726
    Points
    12 726
    Par défaut
    Vois du coté de tmux qui permet de multiplexer un terminal.
    Cordialement.

  11. #11
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 550
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 550
    Points : 19 383
    Points
    19 383
    Par défaut
    Citation Envoyé par chrisdgy Voir le message
    euh oui mais telnet attend ma requette c'est pas le probleme
    vim aussi peut attendre une entrée.
    il ne "capturera" quand même pas ce qui est envoyé sur le terminal.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  12. #12
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 278
    Points : 12 726
    Points
    12 726
    Par défaut
    On peut aussi le faire avec ioctl, mais faut être l'executer en tant que root (exemple via perl) :
    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
    ici on envoi "ls -l" au pseudo terminal /dev/pts/1 ...
    Cordialement.

  13. #13
    Membre à l'essai
    Homme Profil pro
    apprenti
    Inscrit en
    Mai 2020
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : apprenti

    Informations forums :
    Inscription : Mai 2020
    Messages : 38
    Points : 19
    Points
    19
    Par défaut
    Flodelarab bonjour , je debute en shell et programmation en générale ! je ne saisie pas tous ! loin de là !

    pour la session telnet oui effectivement je cherche a autmatiser une tache reguliere sur le reseau telnet et je cherche simplement a recuperer une ligne text au terminal 1 pour l'envoyer au terminal 2 pas grave si c'est un peu "hackish".

    le tout c'est que cela puisse fonctionne ....

    je vais essayer d'eclaicir le sujet >>> j'ai un recepteur sdr connecter sur un serveur qui m'envoie des indicatifs de station amateurs qui appellent en code morse ! exemple de format recu sur le serveur : CQ DE K2ZZ 14025 c'est l'indicatif d'une station américaine QUI appelle sur 14025 MHZ je souhaite donc renvoyer l'info sur un serveur telnet radio ou je suis déjà connecté ... pour les autres operateurs surveillant ce reseau ! donc recuperer CQ DE K2ZZ et l'envoyer au serveur ....en principe fait manuellemnt mais c'est histoire automatiser la tache et d'essayer de coder au passage !



    j'ai fais un petit script qui filtres celon les continents et aux bandes de frequences que je souhaite une fois filtre je souhaite réinjecte sur le réseau cluster (donc une fenêtre telnet )

    d'autre part une idee pourquoi le mode clavier [ctl+ maj+c ] copier .... puis [ctl+ maj +v ] coller ne veut pas fonctionner .... pourtant il semble que ca soit la commande de prevu pource genre de traitement ?


    merci pour votre aide a tous !

  14. #14
    Membre à l'essai
    Homme Profil pro
    apprenti
    Inscrit en
    Mai 2020
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : apprenti

    Informations forums :
    Inscription : Mai 2020
    Messages : 38
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par disedorgue Voir le message
    Vois du coté de tmux qui permet de multiplexer un terminal.

    bonjour et merci de votre reponse ! j'avais effectivement tester screen ou tmux mais etant novice pas simple je vais y rejetter un oeil !
    merci

  15. #15
    Membre à l'essai
    Homme Profil pro
    apprenti
    Inscrit en
    Mai 2020
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : apprenti

    Informations forums :
    Inscription : Mai 2020
    Messages : 38
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par disedorgue Voir le message
    On peut aussi le faire avec ioctl, mais faut être l'executer en tant que root (exemple via perl) :
    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
    ici on envoi "ls -l" au pseudo terminal /dev/pts/1 ...
    oui mais si je fais ls-l sur >/dev/pts/1 ca fonctionne egalement !

  16. #16
    Membre à l'essai
    Homme Profil pro
    apprenti
    Inscrit en
    Mai 2020
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : apprenti

    Informations forums :
    Inscription : Mai 2020
    Messages : 38
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    vim aussi peut attendre une entrée.
    il ne "capturera" quand même pas ce qui est envoyé sur le terminal.
    oui je m'appercois de ca en effet ! je ne connais pas vin .....j'utilise nano pour l'instant ....

  17. #17
    Membre à l'essai
    Homme Profil pro
    apprenti
    Inscrit en
    Mai 2020
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : apprenti

    Informations forums :
    Inscription : Mai 2020
    Messages : 38
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par chrisdgy Voir le message
    oui mais si je fais ls-l sur >/dev/pts/1 ca fonctionne egalement !
    ahhhh par contre cela fonctionne j'ai remplace la chaine ls-l par ce que je voulais et cela a pris !

    c'est une bonne chose ........ j'aurais preferé une reponse avec du code bash .....mais bon pour le moment ont va essayer de jouer avec ca !

    merci

    par contre suis toujours interesse par copier coller en mode clavier si quel'qu'un a une ideé ou mieux encore via commande specifique !

  18. #18
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 278
    Points : 12 726
    Points
    12 726
    Par défaut
    Sous un terminal ubuntu (gnome), tu surlignes ta ligne, puis ctrl+shift+c et sur l'autre terminal, shift+inser (ici, je parle de la touche inser).
    Cordialement.

  19. #19
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 550
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 550
    Points : 19 383
    Points
    19 383
    Par défaut
    là, tu envoies le résultat de la commande vers /dev/pts/2, pas le texte de la commande. La commande est exécutée localement.

    pour le vérifier, place-toi dans des répertoires différents sur les deux terminaux.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  20. #20
    Membre à l'essai
    Homme Profil pro
    apprenti
    Inscrit en
    Mai 2020
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : apprenti

    Informations forums :
    Inscription : Mai 2020
    Messages : 38
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par disedorgue Voir le message
    Sous un terminal ubuntu (gnome), tu surlignes ta ligne, puis ctrl+shift+c et sur l'autre terminal, shift+inser (ici, je parle de la touche inser).
    Meme ctrl +maj +c fonctionne en enregistrement ! par contre effectivement shift-inser pour le coller merci !

    je vais essayer de voir si il y a moyen de transforme les copier coller en code ! et egalement le surligné !

    merci je sais en tous cas qu'il donc moyen faire cette action ( envoyer d'un terminal a l'autre ) reste a comprendre pourquoi ca fonctionne avec perl et pas en bash !

    cordialement

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. [Débutant] aide sur un envoi de texte depuis un bouton vers un autre process.
    Par dragonmouff123 dans le forum VB.NET
    Réponses: 10
    Dernier message: 01/02/2013, 15h10
  2. JTextField, envoie du text a une base de données.
    Par niklette dans le forum Composants
    Réponses: 2
    Dernier message: 05/06/2006, 20h23
  3. obtenir le texte d'une autre application
    Par m14w dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 02/03/2006, 00h24
  4. Modifier un texte dans une autre frame
    Par hotkebab99 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/02/2006, 14h46
  5. Envoyer du texte dans une autre application (ou send key)
    Par Coussati dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 10/02/2006, 15h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo