【发布时间】:2014-02-03 09:37:47
【问题描述】:
我使用 home-brew 在 Mac 上设置 tmux。尝试运行 tmux 时,我不断收到此错误
打开终端失败:缺少或不合适的终端:xterm-256color
有什么建议吗?
【问题讨论】:
我使用 home-brew 在 Mac 上设置 tmux。尝试运行 tmux 时,我不断收到此错误
打开终端失败:缺少或不合适的终端:xterm-256color
有什么建议吗?
【问题讨论】:
您的系统没有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 中使用。
这在系统升级期间发生在我身上。不幸的是,除了重新启动之外我没有看到其他方法:tmux kill-server 然后运行tmux。
【讨论】:
export TERM=xterm 或 export TERM=screen,然后您可以重新附加。此时,您可以优雅地结束所有程序和 shell。同一用户的所有 tmux 会话结束后,您可以使用新版本重新启动 tmux。
export TERM=xterm 是解决方案。
您可以在看到此错误时在控制台中输入export TERM=xterm,或将export TERM=xterm 放入文件~/.bash_profile 和source ~/.bash_profile 中。那么您可能永远不会再遇到此错误。
这在我的 debian 上运行良好。
【讨论】:
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
【讨论】:
当我删除一些会话/窗口时,这个错误就消失了。显然我打开的 TTY 太多了。
您可以使用以下命令从 tmux 外部终止会话/窗口:
tmux kill-session -t <session-name>
tmux kill-window -t <session-name>:<window-name>
【讨论】:
就我而言,Xterm 不存在。 (但我在 Ubuntu 上遇到了同样的错误)
【讨论】: