tmux:挂起并且不加载,并且不响应任何选项命令

时间:2011-09-13 20:29:11

标签: linux tmux

我在Fedora的本地空间安装了源代码中的tmux。到目前为止它工作得很好。但突然无法再运行了,当运行tmux时,它就停止了。尝试了不同的命令选项,如ls-sessions,无效。杀死了我的用户的所有进程,删除了tmux和libevnet的所有文件,并从头开始重新安装它们。仍然相同,终端中的tmux命令只是冻结而没有任何实际错误。

8 个答案:

答案 0 :(得分:40)

我长时间遇到这个问题,经过一番搜索后我发现这是因为我意外地命中了 Ctrl + S Ctrl + A + S 是我切换窗格的快捷方式),这将关闭终端中的流量控制并阻止终端接受输入。可以通过按 Ctrl + Q 重新启用它。

来源: https://superuser.com/a/553349/137226

答案 1 :(得分:27)

有一个类似的问题,我有一个带有两个缓冲区的tmux会话。我没有看到我输入的任何内容,但当我在缓冲区之间切换时,我之前键入的内容将显示在屏幕上。 stty sane没有用。

我分离了 Ctrl-b + d ,并注意到当我查看tmux list-clients时仍然附着了一个客户端。 tmux detach-client删除了它,然后我可以重新连接,一切都恢复了。

答案 2 :(得分:5)

我开始后,

tmux正在停止。 Ctrl-Q Ctrl-C 没有做任何事情。

已修复

killall -9 tmux

(可能是另一个问题,但这个问题出现在谷歌。)

答案 3 :(得分:3)

我有同样的问题。原因是tmux缓冲区已满,并且可能会导致多个客户端进入tmux会话。

要解决此问题,您需要从会话中分离所有客户端,然后重新连接它。

我找到解决问题的最佳方法是将~/.bashrc文件添加到此函数中:

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
}

然后运行source ~/.bashrc以在终端中进行这些更改。

现在附加会话类型:

reattach_client <session_name>

解决了我的问题。

感谢Alex Zelichenko帮我解决这个问题!

答案 4 :(得分:3)

如果可以丢失会话,请尝试删除tmux-NNNNNNN目录下的NNNNNNN目录,其中/tmp是数字。根据{{​​1}}手册,如果设置了tmux环境变量,则TMPDIR将放在tmux-NNNNNNN中。

  

tmux将服务器套接字存储在/ tmp(或设置为TMPDIR)下的目录中;

这解决了我无法运行与会话相关的TMPDIR命令的问题。我也尝试了以下方法,但是它们没有用:

  • tmux
  • 重新安装killall -9 tmux
  • 重新启动Shell会话

我无法轻易重启操作系统,因为它是由其他人管理的共享服务器。

答案 5 :(得分:2)

您应该能够通过以下几项测试来缩小您的问题范围:

  1. 从X11外部拍摄: Ctrl + Alt + F2 (或使用另一个人的ssh计算机)

  2. 测试其他终端模拟器是否有效:scriptscreen

  3. 尝试其他复杂的终端应用:htopmc

  4. 重置您的TTY设置:stty sane

  5. 检查您的终端是否已识别:echo $TERM(它应该类似于“xterm”或“linux”)

  6. 使您的终端功能文件存在:ls -lh /usr/share/terminfo/*/$TERM

答案 6 :(得分:2)

感谢。 我发现了这个问题。 tmux进程处于D状态,我别无选择,只能重启系统。 问题来自于kerberos门票一段时间后到期。并找到解决此问题的脚本: https://iain.cx/src/ktmux/

答案 7 :(得分:1)

(在终止tmux进程之前尝试的)较不激烈的动作是SSH进入计算机并运行以下命令。

kill -CONT `pidof tmux`

来源:https://github.com/tmux/tmux/issues/507#issuecomment-271502093