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 31/08/2016, à 15:33

LUCKASS

Perte de programme SSH

Bonjour,
Donc voilà je vous explique : j'ai Ubuntu Mate sur mon Raspberry Pi 3 et je l'utilise pour faire tourner un programme h24, donc pour le lancer je me connecte en SSH je le lance, etc.. mais mon soucis c'est que quand je quitte le logiciel de SSH et que, plus tard dans la journée, je veux voir l'avancement de mon programme eh bien je ne peux pas, puisque il m'ouvre une autre fenêtre de Terminal..

Comment faire pour récupérer la fenêtre originale ?

Merci d'avance !
Cordialement.

Hors ligne

#2 Le 31/08/2016, à 16:09

littlejohn75

Re : Perte de programme SSH

LUCKASS a écrit :

Comment faire pour récupérer la fenêtre originale ?

La façon la plus simple me semble être d'utiliser GNU screen du paquet screen ou bien tmux
J'ai utilisé les deux (sur des Debian) et tmux a largement ma préférence.

fp2x@drhpcmsa:~$ tmux list-sessions
0: 3 windows (created Thu Aug 18 10:11:36 2016) [81x41]
fp2x@drhpcmsa:~$ tmux attach -t 0

et je retrouve les trois fenêtres que j'avais crées le 18 août.

C'est quand même plutôt pour les accros de la ligne de commandes tongue cela dit.

Par exemple, pensez à remettre la variable d'environnement SSH_AUTH_SOCK d'aplomb.( si vous utilisez la technique agent-forwarding de SSH ).

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع  تحياتي الخالصة
---
F. Petitjean
Ingénieur civil du Génie Maritime.

« Les ampoules aux mains sont plus honorables que les bagues. »
    Proverbe estonien

« Ce que l'on conçoit bien s'énonce clairement,
  Et les mots pour le dire arrivent aisément.  »
             Boileau   De L'Art poétique   (Chant I)

Hors ligne

#3 Le 31/08/2016, à 16:32

LUCKASS

Re : Perte de programme SSH

littlejohn75 a écrit :
LUCKASS a écrit :

Comment faire pour récupérer la fenêtre originale ?

La façon la plus simple me semble être d'utiliser GNU screen du paquet screen ou bien tmux
J'ai utilisé les deux (sur des Debian) et tmux a largement ma préférence.

fp2x@drhpcmsa:~$ tmux list-sessions
0: 3 windows (created Thu Aug 18 10:11:36 2016) [81x41]
fp2x@drhpcmsa:~$ tmux attach -t 0

et je retrouve les trois fenêtres que j'avais crées le 18 août.

C'est quand même plutôt pour les accros de la ligne de commandes tongue cela dit.

Par exemple, pensez à remettre la variable d'environnement SSH_AUTH_SOCK d'aplomb.( si vous utilisez la technique agent-forwarding de SSH ).

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع  تحياتي الخالصة
---
F. Petitjean
Ingénieur civil du Génie Maritime.

« Les ampoules aux mains sont plus honorables que les bagues. »
    Proverbe estonien

« Ce que l'on conçoit bien s'énonce clairement,
  Et les mots pour le dire arrivent aisément.  »
             Boileau   De L'Art poétique   (Chant I)

Et depuis JuiceSSH que j'utilise sur mon Android y'a une solution de récupérer une fenêtre de terminal ?
Sinon merci de la réponse rapide !

Hors ligne

#4 Le 01/09/2016, à 13:13

littlejohn75

Re : Perte de programme SSH

LUCKASS a écrit :

Et depuis JuiceSSH que j'utilise sur mon Android y'a une solution de récupérer une fenêtre de terminal ?

Je crois que vous n'avez pas compris.

Vous vous connectez en SSH à votre Rasberry PI 3 qui fait office de serveur. Selon le client le terminal obtenu a certaines caractéristiques (dimensions, gestion polices et couleurs) peu importe.
Je suppose que avec le terminal obtenu (avec JuiiceSSH ou autre) vous pouvez lancer des commandes et donc par exemple

sudo aptitude install tmux debian-goodies
debmany tmux

Ceci vous permettra de naviguer (en mode texte comme les poros) dans la documentation de tmux, en particulier la page de manuel qui fait plus de 2000 lignes smile

Arrivé à ce stade, vous commencez à comprendre qu'il ne faut pas mettre la charrue avant les boeufs et donc qu'il faut d'abord soit créer une nouvelle session, soit se rattacher à une session existante (ce que vous appelez une fenêtre de terminal ).

tmux new-session

Vous obtenez un nouveau terminal géré par tmux, avec en bas une ligne d'état qui vous indique

[0] 0:bash*                                            "masime" 13:10 01-sept.-16

Que vous n'avez qu'une fenêtre [0] de titre bash, que la machine s'appelle masime et qu'il est 13h10, donc largement l'heure d'aller manger smile

Je reprends après la pause
Nous allons créer une nouvelle fenêtre avec un nouveau shell.
Si vous tapez des caractères alphanumériques vous voyez que c'est simplement une nouvelle ligne de commande destinée au shell de la fenêtre courante qui s'affiche. Il a donc fallu imaginer un autre mécanisme pour donner des commandes à tmux et non pas au bash courant. Pour créer une nouvelle fenêtre il faut lancer la commande tmux new-window. Et pour  s'adresser à tmux il y a une interface en ligne de commandes qui s'obtient par [prefixe] ':'  (prefixe est obtenu avec Ctrl+b par défaut )

Si donc vous tapez

C-b :

la ligne d'état est replacée par une ligne commençant par le caractère ':'
vous tapez alors

new-wi[tab]

l'affichage de la dernière ligne devient

:new-window

et la touche entrée vous donne une ligne d'état du genre

[0] 0:bash- 1:bash*                                    "masime" 14:28 01-sept.-16

Vous avez une nouvelle fenêtre, bravo
Maintenant

C-b ?

vous donne la liste des commandes tmux et de leur raccourci avec entre autre

bind-key          : command-prompt
bind-key          c new-window
bind-key          d detach-client
bind-key          n next-window
bind-key          p previous-window
bind-key          t clock-mode

Si donc vous tapez prefixe] c vous créez une troisième fenêtre.
Puis vous naviguez dans vos fenêtres avec une succession de C-b n
Une fois positionné sur une fenêtre qui vous plaît, vous pouvez lancer votre application qui dure des heures ou des jours.
Avec C-b t la fenêtre courante passe en mode horloge avec seulement l'heure en grands caractères et une ligne d'état du genre

[0] 0:[tmux]* 1:bash-                                  "masime" 14:52 01-sept.-16

et en appuyant sur 'q' vous quitter ce mode pour retrouver ce tourne normalement dans cette fenêtre/ce terminal.

Vous vous détachez de cette session tmux soit par

C-b :
detach-client

ou plus simplement par

C-b d

Vous retrouvez alors le terminal non multi-plexé d'origine que vous pouvez fermer par

exit

Depuis le même poste client SSH ou un autre, vous pouvez vous reconnecter et

fp2x@masime:/tmp$ tmux list-sessions
0: 2 windows (created Thu Sep  1 13:07:33 2016) [81x41]
fp2x@masime:/tmp$ tmux attach-session -t 0

et vous retrouvez vos fenêtres/terminaux virtuels.

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع  تحياتي الخالصة
---
F. Petitjean
Ingénieur civil du Génie Maritime.
« Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. »  (R. Devos)

Dernière modification par littlejohn75 (Le 01/09/2016, à 15:08)

Hors ligne