38 votes

tmux : hangs and do not load, and do not respond to any option command

J'ai installé tmux à partir des sources sur mon espace local sous Fedora. Il fonctionnait bien jusqu'à présent. Mais soudainement, je ne peux plus le faire fonctionner, lorsque je lance tmux, il s'arrête. J'ai essayé différentes options de commande comme ls-sessions, mais aucune ne fonctionne. J'ai tué tous les processus de mon utilisateur, supprimé tous les fichiers de tmux et de libevnet et les a réinstallés à partir de zéro. Toujours la même chose, et la commande tmux dans le terminal se bloque sans aucune erreur.

59voto

Karthik Points 584

J'ai été confronté à ce problème pendant longtemps et, après quelques recherches, j'ai compris qu'il était dû au fait que j'avais accidentellement appuyé sur la touche Ctrl + S ( Ctrl + A + S est mon raccourci pour passer d'un volet à l'autre), et cela désactive le contrôle de flux dans les terminaux et empêche le terminal d'accepter des entrées. Il peut être réactivé en appuyant sur Ctrl + Q .

Source : https://superuser.com/a/553349/137226

41voto

dsummersl Points 2608

J'ai eu un problème similaire, où j'avais une session tmux avec deux buffers. Je ne voyais rien de ce que je tapais, mais lorsque je passais d'un tampon à l'autre, ce que j'avais tapé précédemment apparaissait à l'écran. stty sane n'a pas fonctionné.

Je me suis détaché Ctrl-b + d et j'ai remarqué qu'il y avait encore un client attaché lorsque j'ai regardé la page tmux list-clients . tmux detach-client Je l'ai enlevé, puis j'ai pu le rattacher et tout a fonctionné à nouveau.

11voto

Logstar Points 53

Si vous pouvez perdre vos sessions, essayez de supprimer le fichier tmux-NNNNNNN où se trouve le répertoire NNNNNNN est un nombre, sous votre /tmp répertoire. Selon le tmux Si le manuel de l TMPDIR est définie, la variable d'environnement tmux-NNNNNNN sera placé dans le TMPDIR .

tmux stocke la socket du serveur dans un répertoire sous /tmp (ou TMPDIR si défini) ;

Cela a permis de résoudre mon problème d'impossibilité d'exécuter tmux qui sont liées aux sessions. J'ai également essayé les commandes suivantes, mais elles n'ont pas fonctionné :

  • killall -9 tmux
  • réinstaller tmux
  • redémarrer la session shell

Je n'ai pas pu redémarrer facilement le système d'exploitation, car il s'agit d'un serveur partagé géré par d'autres personnes.

9voto

Kasper Souren Points 1029

tmux s'est arrêté dès que je l'ai démarré. Ctrl-Q y Ctrl-C n'a rien fait.

Corrigé avec

killall -9 tmux

(Il s'agit peut-être d'un autre problème, mais cette question est apparue dans Google).

7voto

Rea Haas Points 71

J'ai eu le même problème. La cause est que le tmux est pleine, et cela peut également se produire en raison de la présence de plusieurs clients dans le système. tmux session.

Pour résoudre ce problème, vous devez détacher tous les clients de la session, puis les rattacher.

La meilleure façon que j'ai trouvée pour résoudre ce problème est d'ajouter au fichier ~/.bashrc cette fonction :

check_params() {
       if [[ $1 < $2 ]]; then
               echo -e "Usage:\n${3}"
               ok=0
       else
               ok=1
       fi

}

# detach all the clients from this session, and attach to it.
reattach_client() {
       check_params $# 1 "reattach_client <tmux_session_name>"
       if [[ $ok == 1 ]]; then
               tmux list-client | grep $1 | awk '{split($1, s, ":"); print s[1]}' | xargs tmux detach-client -t | true
               tmux attach -t $1
       fi
}

puis exécuter source ~/.bashrc pour effectuer ces changements dans le terminal.

Il s'agit maintenant d'attacher le type de session :

reattach_client <session_name>

a résolu mon problème.

Merci à Alex Zelichenko pour son aide !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X