我已经从Fedora的本地空间安装了tmux。到目前为止,它运行得很好。但是突然不能再运行它了,当运行tmux时,它就停止了。尝试了不同的命令选项,如ls-sessions,没有工作。杀死了我的用户的所有进程,删除了tmux和libevnet的所有文件,并从头开始重新安装它们。仍然一样,并且终端中的TMUX命令只是冻结而没有任何实际错误。
libevnet
pnwntuvh1#
这个问题我已经遇到很长时间了,经过一番搜索,我发现这是因为我不小心按了Ctrl+S(Ctrl+A+S是我切换窗格的快捷方式),这会关闭终端中的流程控制,并停止终端接受输入。按Ctrl+Q可以重新启用它。
来源:https://superuser.com/a/553349/137226
z0qdvdin2#
有一个类似的问题,我有一个两个缓冲区的tmux会话。我没有看到我输入的任何东西,但当我在缓冲区之间切换时,我之前输入的内容会出现在屏幕上。stty sane不起作用。我分离了Ctrl-b+d,并注意到当我查看tmux list-clients时仍然连接了一个客户端。tmux detach-client将其删除,然后我可以重新连接,所有东西都再次工作。
stty sane
tmux list-clients
tmux detach-client
cmssoen23#
如果可以丢失会话,请尝试删除/tmp目录下的tmux-NNNNNNN目录,其中NNNNNNN是一个数字。根据tmux手册,如果设置了TMPDIR环境变量,tmux-NNNNNNN将被放入TMPDIR。tmux将服务器套接字存储在/tmp(或TMPDIR,如果设置)下的目录中;这解决了我无法运行与会话相关的tmux命令的问题。我还尝试了以下方法,但它们不起作用:
/tmp
tmux-NNNNNNN
NNNNNNN
tmux
TMPDIR
killall -9 tmux
我无法轻松地重新启动操作系统,因为它是由其他人管理的共享服务器。
7hiiyaii4#
tmux在我启动后立即停止。Ctrl-Q和Ctrl-C没有执行任何操作。固定
(May是一个不同的问题,但这个问题出现在谷歌。)
htrmnn0y5#
我遇到了同样的问题。原因是tmux缓冲区已满,也可能是多个客户端到tmux会话的原因。要解决这个问题,您需要从会话中分离所有客户端,然后重新连接它。我发现解决这个问题的最好方法是在~/.bashrc文件中添加以下函数:
~/.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在终端中进行这些更改。现在要附加会话类型:
source ~/.bashrc
reattach_client <session_name>
解决了我的问题。谢谢亚历克斯·泽利琴科帮我解决这个问题!
4smxwvx56#
通过以下几个测试,您应该能够缩小问题的范围:1.从X11外部尝试:Ctrl+Alt+F2(或从另一台计算机使用ssh)1.测试其他终端仿真器是否工作:script和screen1.尝试另一个复杂的终端应用程序:htop和mc1.重置TTY设置:stty sane1.检查您的终端是否标识了:echo $TERM(应该是类似于“xterm”或“linux”的名称)1.确保您的终端功能文件存在:ls -lh /usr/share/terminfo/*/$TERM
ssh
script
screen
htop
mc
echo $TERM
ls -lh /usr/share/terminfo/*/$TERM
scyqe7ek7#
谢谢。我找到问题了。tmux进程处于D状态,我不得不重新启动系统。问题是由于kerberos票证过了一段时间到期。并找到解决此问题的脚本:https://iain.cx/src/ktmux/
k4aesqcs8#
一个不太激烈的操作(在终止tmux进程之前尝试)是ssh进入机器并运行以下命令。
kill -CONT `pidof tmux`
图片来源:www.example.comhttps://github.com/tmux/tmux/issues/507#issuecomment-271502093
kjthegm69#
这种情况发生在我身上,因为我不小心试图创建两个同名的并行TMux会话。对我有效的方法是输入htop,检查创建会话的两个正在运行的命令的pid,然后使用kill -9 pid1和kill -9 pid2终止这两个命令
kill -9 pid1
kill -9 pid2
9条答案
按热度按时间pnwntuvh1#
这个问题我已经遇到很长时间了,经过一番搜索,我发现这是因为我不小心按了Ctrl+S(Ctrl+A+S是我切换窗格的快捷方式),这会关闭终端中的流程控制,并停止终端接受输入。按Ctrl+Q可以重新启用它。
来源:https://superuser.com/a/553349/137226
z0qdvdin2#
有一个类似的问题,我有一个两个缓冲区的tmux会话。我没有看到我输入的任何东西,但当我在缓冲区之间切换时,我之前输入的内容会出现在屏幕上。
stty sane
不起作用。我分离了Ctrl-b+d,并注意到当我查看
tmux list-clients
时仍然连接了一个客户端。tmux detach-client
将其删除,然后我可以重新连接,所有东西都再次工作。cmssoen23#
如果可以丢失会话,请尝试删除
/tmp
目录下的tmux-NNNNNNN
目录,其中NNNNNNN
是一个数字。根据tmux
手册,如果设置了TMPDIR
环境变量,tmux-NNNNNNN
将被放入TMPDIR
。tmux将服务器套接字存储在/tmp(或TMPDIR,如果设置)下的目录中;
这解决了我无法运行与会话相关的
tmux
命令的问题。我还尝试了以下方法,但它们不起作用:killall -9 tmux
tmux
我无法轻松地重新启动操作系统,因为它是由其他人管理的共享服务器。
7hiiyaii4#
tmux
在我启动后立即停止。Ctrl-Q和Ctrl-C没有执行任何操作。固定
(May是一个不同的问题,但这个问题出现在谷歌。)
htrmnn0y5#
我遇到了同样的问题。原因是
tmux
缓冲区已满,也可能是多个客户端到tmux
会话的原因。要解决这个问题,您需要从会话中分离所有客户端,然后重新连接它。
我发现解决这个问题的最好方法是在
~/.bashrc
文件中添加以下函数:然后运行
source ~/.bashrc
在终端中进行这些更改。现在要附加会话类型:
解决了我的问题。
谢谢亚历克斯·泽利琴科帮我解决这个问题!
4smxwvx56#
通过以下几个测试,您应该能够缩小问题的范围:
1.从X11外部尝试:Ctrl+Alt+F2(或从另一台计算机使用
ssh
)1.测试其他终端仿真器是否工作:
script
和screen
1.尝试另一个复杂的终端应用程序:
htop
和mc
1.重置TTY设置:
stty sane
1.检查您的终端是否标识了:
echo $TERM
(应该是类似于“xterm”或“linux”的名称)1.确保您的终端功能文件存在:
ls -lh /usr/share/terminfo/*/$TERM
scyqe7ek7#
谢谢。我找到问题了。tmux进程处于D状态,我不得不重新启动系统。问题是由于kerberos票证过了一段时间到期。并找到解决此问题的脚本:https://iain.cx/src/ktmux/
k4aesqcs8#
一个不太激烈的操作(在终止tmux进程之前尝试)是ssh进入机器并运行以下命令。
图片来源:www.example.comhttps://github.com/tmux/tmux/issues/507#issuecomment-271502093
kjthegm69#
这种情况发生在我身上,因为我不小心试图创建两个同名的并行TMux会话。
对我有效的方法是输入
htop
,检查创建会话的两个正在运行的命令的pid,然后使用kill -9 pid1
和kill -9 pid2
终止这两个命令