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

oalqel3c  于 2023-01-12  发布在  Linux
关注(0)|答案(9)|浏览(440)

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

pnwntuvh

pnwntuvh1#

这个问题我已经遇到很长时间了,经过一番搜索,我发现这是因为我不小心按了Ctrl+S(Ctrl+A+S是我切换窗格的快捷方式),这会关闭终端中的流程控制,并停止终端接受输入。按Ctrl+Q可以重新启用它。

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

z0qdvdin

z0qdvdin2#

有一个类似的问题,我有一个两个缓冲区的tmux会话。我没有看到我输入的任何东西,但当我在缓冲区之间切换时,我之前输入的内容会出现在屏幕上。stty sane不起作用。
我分离了Ctrl-b+d,并注意到当我查看tmux list-clients时仍然连接了一个客户端。tmux detach-client将其删除,然后我可以重新连接,所有东西都再次工作。

cmssoen2

cmssoen23#

如果可以丢失会话,请尝试删除/tmp目录下的tmux-NNNNNNN目录,其中NNNNNNN是一个数字。根据tmux手册,如果设置了TMPDIR环境变量,tmux-NNNNNNN将被放入TMPDIR
tmux将服务器套接字存储在/tmp(或TMPDIR,如果设置)下的目录中;
这解决了我无法运行与会话相关的tmux命令的问题。我还尝试了以下方法,但它们不起作用:

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

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

7hiiyaii

7hiiyaii4#

tmux在我启动后立即停止。Ctrl-Q和Ctrl-C没有执行任何操作。
固定

killall -9 tmux

(May是一个不同的问题,但这个问题出现在谷歌。)

htrmnn0y

htrmnn0y5#

我遇到了同样的问题。原因是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>

解决了我的问题。
谢谢亚历克斯·泽利琴科帮我解决这个问题!

4smxwvx5

4smxwvx56#

通过以下几个测试,您应该能够缩小问题的范围:
1.从X11外部尝试:Ctrl+Alt+F2(或从另一台计算机使用ssh
1.测试其他终端仿真器是否工作:scriptscreen
1.尝试另一个复杂的终端应用程序:htopmc
1.重置TTY设置:stty sane
1.检查您的终端是否标识了:echo $TERM(应该是类似于“xterm”或“linux”的名称)
1.确保您的终端功能文件存在:ls -lh /usr/share/terminfo/*/$TERM

scyqe7ek

scyqe7ek7#

谢谢。我找到问题了。tmux进程处于D状态,我不得不重新启动系统。问题是由于kerberos票证过了一段时间到期。并找到解决此问题的脚本:https://iain.cx/src/ktmux/

k4aesqcs

k4aesqcs8#

一个不太激烈的操作(在终止tmux进程之前尝试)是ssh进入机器并运行以下命令。

kill -CONT `pidof tmux`

图片来源:www.example.comhttps://github.com/tmux/tmux/issues/507#issuecomment-271502093

kjthegm6

kjthegm69#

这种情况发生在我身上,因为我不小心试图创建两个同名的并行TMux会话。
对我有效的方法是输入htop,检查创建会话的两个正在运行的命令的pid,然后使用kill -9 pid1kill -9 pid2终止这两个命令

相关问题