web-dev-qa-db-fra.com

Existe-t-il un moyen simple de "redémarrer" un volet tmux?

Supposons que j'ai une fenêtre tmux (1.7) divisée comme suit:

 ________________________
|           1            |
|                        |
|-----------+------------|
|     2     |      3     |
|___________|____________|

Maintenant, les tailles verticales ont été personnalisées, ce n'est donc en aucun cas l'une des dispositions par défaut.

À l'occasion, lorsqu'un programme est bloqué ou lorsque vous redémarrez une machine à laquelle vous vous êtes connecté via ssh, le volet "se bloque". C'est à dire. rien d'autre que kill-pane semble fonctionner.

Cependant, puisqu'il n'y a pas de moyen facile de reconstruire la configuration divisée ci-dessus une fois que le volet # 1 a été kill-paned, je voudrais le "redémarrer".

50
0xC0000022L

En regardant le manuel, la commande respawn-pane m'a frappé, mais il s'est avéré que cela n'a pas fonctionné. En lisant de plus près, il s'est avéré que respawn-pane -k était la réponse, car ce serait tuer la commande en cours d'exécution.

De cette façon, un volet peut être "redémarré" et réapparu en place.

Donc <prefix> +: puis entrez respawn-pane -k et appuyez sur Enter

89
0xC0000022L

En fait, il existe un moyen de reconstruire une mise en page - list-windows Vous donne une description de la mise en page pour toutes les fenêtres d'une session et select-layout Peut digérer analyser la chaîne et définir la mise en page de manière appropriée (voir select-layout Dans la page de manuel tmux(1)).

En ce qui concerne votre problème ssh - les serveurs ssh devraient fermer la connexion une fois le système arrêté (bien que j'aie vu des distributions Linux qui perturbent le bon comportement en ne fermant pas le démon ssh et en exécutant les sessions correctement) - si tel est le cas, voir la section ESCAPE CHARACTERS (et les autres endroits qui y font référence) dans ssh(1) - caractère d'échappement suivi de . (un point) met fin avec force à la connexion côté client. Bien sûr, cela n'aide pas si vous venez de générer le volet avec ssh en cours d'exécution, mais si vous rencontrez le problème plus souvent, vous préférez peut-être exécuter un shell dans le volet et appeler ssh depuis la bride.

4
peterph