Dans mon tmux.conf fichier je l'ai configuré pour ouvrir les fenêtres, les nommer, configurer les volets etc.. etc..
Cependant, un problème que j'ai est que si l'un des volets lance une commande, disons ls , puis le volet se ferme une fois la commande terminée (instantanément). Existe-t-il un moyen d'empêcher ce comportement ? Ou le faire tomber dans un shell normal après la fin d'une commande ?
Je suppose que je dois démarrer un shell -> exécuter la commande lorsque le volet se lance, mais je serai damné si je peux comprendre comment. J'ai cherché un peu sur Google pour ce problème, mais je n'ai pas réussi.
Réponse acceptée :
Vous avez plusieurs options.
-
Au lieu d'exécuter
lsdans votre fenêtre, exécutez un shell, puis envoyez les touches du shell à exécuter :tmux start-server tmux new-session -d -s session tmux new-window -t session:1 tmux send-keys -t session:1 ls C-m -
Vous pouvez lancer une séquence de commandes de manière à vous retrouver avec un shell bash après l'exécution de vos autres commandes :
tmux start-server tmux new-session -d tmux new-window 'ls;bash -i' -
Voir la réponse de jasonwryan pour plus de détails sur le
remain-on-exitoption pour garder les volets actifs après la fin de leur processus afin que vous puissiez revoir la sortie. -
Si la sortie d'une commande valait la peine d'être vue une fois, cela pourrait valoir la peine d'être actualisé. Si vous surveillez la sortie de quelque chose, vous pouvez
watchpour obtenir périodiquement de nouvelles sorties. Cela devrait bien fonctionner avec les volets danstmux:tmux start-server tmux new-session -d tmux new-window 'watch -n 60 ls'