tmux:open terminal failed:缺少或不适合终端:xterm-256color

use*_*740 25 terminal tmux

我用home-brew在mac上设置tmux.当试图运行tmux时,我继续收到此错误

open terminal failed:缺少或不适合终端:xterm-256color

有什么建议?

小智 27

您的系统没有xterm-256color.你可以:

  • 将TERM设置为tmux之外的xterm-256color以外的其他东西(尝试只是简单的"export TERM = xterm").

  • 查看是否有包含xterm-256color的软件包,可能是更高版本的ncurses或terminfo.

  • 从另一个系统手动安装它,例如:
    $ infocmp -x xterm-256colour> out
    然后将"out"文件传输到Mac并尝试:
    $ tic out

  • `export TERM = xterm`感谢它甚至在OpenWRT中工作,其'tmux'功能较少. (3认同)

Tat*_*tsh 23

这在系统升级期间发生在我身上.不幸的是,我没有看到除重启之外的方式:tmux kill-server然后运行tmux.

  • Arch用户:这是您正在寻找的答案. (4认同)
  • 不只是Arch.可能通常是Linux.而且你不必非正常地杀死你的服务器.在shell中,在尝试重新附加之前,将TERM设置为其他值,例如`export TERM = xterm`或`export TERM = screen`,然后您可以重新附加.此时,您可以优雅地结束所有程序和shell.完成同一用户的所有tmux会话后,您可以使用新版本重新启动tmux. (4认同)
  • 甚至不是一般的 Linux。我必须在 tmux 运行时更新 MacPorts 后执行此操作。幸运的是,我在尝试更激进的解决方案之前看到了这一点。 (2认同)

Sha*_*ang 9

您也可以只export TERM=xterm当你看到这个错误在控制台,或将export TERM=xterm在文件中~/.bash_profilesource ~/.bash_profile.那么你可能再也不会得到这个错误了.
这对我的debian工作正常.


git*_*rik 8

当我删除一些会话/窗口时,这个错误就消失了.显然我有太多的TTY开放了.

您可以使用以下命令从tmux外部终止会话/窗口:

tmux kill-session -t <session-name>
tmux kill-window -t <session-name>:<window-name>
Run Code Online (Sandbox Code Playgroud)


Bee*_*ung 6

TL; DL

sudo ln -sf /usr/share/terminfo/x/xterm-color /usr/share/terminfo/x/xterm-256color
Run Code Online (Sandbox Code Playgroud)

细节

也许文件/usr/share/terminfo/x/xterm-256color已损坏。它可能会在(系统/软件包)升级/重新安装时修复。

同时,您可以使用其他terminfo条目。您可以通过获取可用选项ls /usr/share/terminfo/x

我有同样的问题,xterm-16color同时使用。

要设置terminfo,可以reset在终端中输入,然后选择terminfo:

username:~$ cd /usr/share/terminfo/x
username:x$ ls
x10term          xnuppc+200x64    xterm-24         xterm+pcfkeys
x1700            xnuppc-200x64-m  xterm-256color   xterm-pcolor
x1700-lm         xnuppc-200x75    xterm+256color   xterm-r5
...
username:x$ reset
reset: unknown terminal type xterm-256color
Terminal type? xterm-16color
Run Code Online (Sandbox Code Playgroud)

===编辑2018年2月20日===

如果要永久使用,则应在许多地方配置该术语,例如,.vimrc,.tmux.config,.Xresources等。

使用时仍然有问题,terminator -x 'tmux attach -t music; exec bash' 因此我正在使用以下快速技巧:

cd /usr/share/terminfo/x
sudo mv xterm-256color xterm-256color.bk
sudo ln -sf /usr/share/terminfo/x/xterm-color /usr/share/terminfo/x/xterm-256color
Run Code Online (Sandbox Code Playgroud)