【问题标题】:tmux: open terminal failed: missing or unsuitable terminal: xterm-256colortmux:打开终端失败:缺少或不合适的终端:xterm-256color
【发布时间】:2014-02-03 09:37:47
【问题描述】:

我使用 home-brew 在 Mac 上设置 tmux。尝试运行 tmux 时,我不断收到此错误

打开终端失败:缺少或不合适的终端:xterm-256color

有什么建议吗?

【问题讨论】:

    标签: terminal tmux


    【解决方案1】:

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

    • tmux 之外将TERM 设置为xterm-256color 以外的其他值(尝试简单的export TERM=xterm)。

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

    • 从另一个系统手动安装它,例如:

      infocmp -x xterm-256color > out
      

      然后将“输出”文件传输到您的 Mac 并尝试:

      tic out
      

    【讨论】:

    • export TERM=xterm 感谢它甚至可以在“tmux”功能较少的 OpenWRT 中使用。
    • infocmp & tic 正是我想要的(在此之前甚至退格都不起作用)
    【解决方案2】:

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

    【讨论】:

    • Arch 用户:这就是您要寻找的答案。
    • 不仅仅是拱门。可能通常是Linux。而且您不必无礼地杀死您的服务器。在 shell 中,在尝试重新附加之前,将 TERM 设置为其他值,例如 export TERM=xtermexport TERM=screen,然后您可以重新附加。此时,您可以优雅地结束所有程序和 shell。同一用户的所有 tmux 会话结束后,您可以使用新版本重新启动 tmux。
    • 甚至不是一般的 Linux。在 tmux 运行时更新 MacPorts 后,我必须这样做。幸运的是,我在尝试更激进的解决方案之前看到了这一点。
    • 我不想杀死 tmux,因为那样我将无法与升级交互。 export TERM=xterm 是解决方案。
    【解决方案3】:

    您可以在看到此错误时在控制台中输入export TERM=xterm,或将export TERM=xterm 放入文件~/.bash_profilesource ~/.bash_profile 中。那么您可能永远不会再遇到此错误。
    这在我的 debian 上运行良好。

    【讨论】:

      【解决方案4】:

      TL;DL

      sudo ln -sf /usr/share/terminfo/x/xterm-color /usr/share/terminfo/x/xterm-256color
      

      详情

      可能文件/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
      

      === 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
      

      【讨论】:

        【解决方案5】:

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

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

        tmux kill-session -t <session-name>
        tmux kill-window -t <session-name>:<window-name>
        

        【讨论】:

          【解决方案6】:

          就我而言,Xterm 不存在。 (但我在 Ubuntu 上遇到了同样的错误)

          【讨论】:

            猜你喜欢
            • 2011-10-10
            • 2014-10-02
            • 1970-01-01
            • 2011-10-11
            • 2017-12-07
            • 2011-11-28
            • 1970-01-01
            • 2018-03-28
            • 1970-01-01
            相关资源
            最近更新 更多