Bonjour à toutes et à tous.
Voilà le topo. Je cherche, par l'intermédiaire d'un script Bash, à :
- créer une session tmux (ça c'est OK)
- ouvrir un certain nombre de fenêtres dans cette session, les nommer et exécuter une commande (OK je sais faire)
- créer une autre session (toujours OK)
- et ouvrir d'autres fenêtres dans cette nouvelle session, et pas dans la première : c'est là que ça cloche. Les nouvelles fenêtres s'ouvrent dans la première :<
Voici le script que j'ai pondu :
#!/bin/env bash
commande="./launch.sh"
delay=15
session_name=$(basename $(pwd))
flag="0"
for file in *.config; do
pre=$(echo $file | cut -d'-' -f2)
post=$(echo $file | cut -d'-' -f1)
if [[ "$flag" = "0" ]]; then
tmux -2 new-session -d -s $session_name -n $pre "$commande $pre $post"
flag="1"
else
tmux -2 new-window -d -n $pre "$commande $pre $post"
fi
printf "Launching %s %s " "$post" "$pre"
for i in $(seq 1 $delay); do
echo -n "."
sleep 1
done
echo
done
echo Done
tmux ls
Ce script ouvre bien les sessions avec une fenêtre, celle avec le flag=0.
J'ai beau avoir lu et relu man tmux, posé la question (mauvaise requête, mauvaise réponse) à Google et consort, fouillé StackOverflow, je sèche.
D'où la question : Comment choisir dans quelle session ouvrir mes fenêtres ?
Merci.
# tmuxify
Posté par Leroy Frederic (site web personnel) . Évalué à 1.
Bonjour,
Regarde du côté de tmuxify sur github.
Tu y trouveras peut-être un exemple.
[^] # Re: tmuxify
Posté par deuzene (site web personnel) . Évalué à 1.
Pas con, faut que je creuse. Je viens d'essayé avec tmuxinator et ça marche. Il me créé bien les fenêtres dans les bonnes sessions. Je vais potasser tmuxifier qui devrait me permettre de scripter ça.
Merci.
J'aurais préféré ne pas ajouter de dépendance à mon projet.
« Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. »
# je ne sais pas
Posté par NeoX . Évalué à 2.
dans mon usage de tmux, j'ai generalement une seule session et plusieurs fenetres
car sinon il faut se souvenir qu'on a plusieurs sessions ouvertes pour aller chercher ce qu'il y a dedans.
sinon l'astuce ca reste de basculer sur la session, puis d'ouvrir ce qui a besoin de l'etre.
mais chez toi ca ne semble pas le faire.
[^] # Re: je ne sais pas
Posté par deuzene (site web personnel) . Évalué à 1.
Merci de ta non-réponse ;)
J'ai besoin de scripter le bousin et d'avoir des sessions différentes.
Sinon je pensais ouvrir toutes les fenêtres dans une session détachée, puis créer mes sessions utiles et envoyer les fenêtres dans ces sessions. Est-ce possible et comment ?
« Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. »
# L’option -s ?
Posté par Cheuteumi . Évalué à 2. Dernière modification le 19 juin 2017 à 19:15.
Depuis la page de man :« This section contains a list of the commands supported by tmux. Most commands accept the optional -t (and sometimes -s) argument with one of target-client, target-session target-window, or target-pane. »Tu l’utilises déjà -_- moinssez-moi.
[^] # Re: L’option -s ?
Posté par deuzene (site web personnel) . Évalué à 1.
Le truc c'est qu'on ne peut utiliser cette option pour la création de fenêtre ! Pfff !
new-window [-adkP] [-c start-directory] [-F format] [-n window-name] [-t target-window] [shell-command]
Après je ne comprends pas trop :
target-window represents the window to be created; if the target already exists an error is shown …
puisque l'option
-n
nomme la fenêtre.Merci d'avoir essayer.
« Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. »
[^] # Re: L’option -s ?
Posté par NeoX . Évalué à 2.
to be created
= qui devra etre crééif the target already exists an error is shown
= si la cible existe deja, une erreur sera montréedonc tu ne peux pas te servir de cela pour rattacher une commande à une fenetre existante, mais par contre tu peux creer une nouvelle fenetre
[^] # Re: L’option -s ?
Posté par deuzene (site web personnel) . Évalué à 1. Dernière modification le 20 juin 2017 à 13:17.
Merci, j'avais bien compris ce que tu dis. Mais quelle est la différence entre
-n
et-t
, si ce n'est qu'avec-t
si la fenêtre existe un message d'erreur est émis ?« Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. »
[^] # Re: L’option -s ?
Posté par NeoX . Évalué à 2.
dans ma page de
man tmux
le -t et -s vont avec le new-session
il faut peut-etre switcher de client avant d'ouvrir ta session
[^] # Re: L’option -s ?
Posté par deuzene (site web personnel) . Évalué à 1.
Hé ! j'avais bien pigé ;)
Par contre l'histoire du client et des groupes, rien compris. Quand j'ouvre une ou plusieurs sessions ettmux list-clients
il ne me renvoie rien !Zut ! je viens de m’apercevoir qu'il faut que la/les sessions soit attachées. Mais du coup comment j'insère ça dans mon script ?
« Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. »
[^] # Re: L’option -s ?
Posté par NeoX . Évalué à 2.
tmux attach devrait t'aider
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.