Existe-t-il un moyen de connaître l'index de volet d'un volet particulier dans Tmux?
Je sais que je peux exécuter quelque chose comme:
tmux display-message -p "#{pane_index}"
mais cela ne fonctionne que sur le volet actif. Je veux que cela fonctionne pour n'importe quel volet dans lequel il est exécuté. Normalement, bien sûr, il est difficile d'exécuter un script dans un volet qui n'est pas le volet actif, mais vous pouvez le faire si vous utilisez le :set-window-option synchronize-panes
pour synchroniser l'entrée entre tous les volets.
Comment pourrais-je l'utiliser?
Dans mon travail, je dois me connecter à plusieurs serveurs identiques dans un équilibreur de charge en même temps, ce que je fais avec les volets Tmux. J'active normalement la fonction de synchronisation des volets pour me permettre d'avoir tout ce que je tape à l'identique envoyé à chaque volet en même temps. Cela fonctionne très bien.
Ce que je trouve, c'est que j'aimerais me connecter aux serveurs et faire quelque chose d'unique à chaque volet parfois, en utilisant le même "index de volet" à chaque fois. Par exemple, j'exécuterais une commande comme ceci:
ssh NODE_$(get_pane_number)
qui, une fois synchronisé et exécuté dans chaque volet, exécuterait les commandes suivantes dans une fenêtre à 4 volets:
ssh NODE_0
dans le volet 0
ssh NODE_1
dans le volet 1
ssh NODE_2
dans le volet 2
ssh NODE_3
dans le volet 3
Je pourrais bien sûr écrire ceci, mais cela ne fonctionnerait que bien avant de commencer à synchroniser les entrées. Il y a des moments où j'aimerais le faire après avoir également commencé à synchroniser les entrées.