Kitty终端下的Tmux

sla*_*ine 8 ssh tmux kitty

我最近发现了整洁的小猫,因为我在 ZSH 下使用的主题的某些方面在 Xfce 终端下不太正确,但在小猫下可以。

不幸的是,我在 SSH 连接上使用 tmux 时遇到了障碍,如果从我的桌面/服务器(运行Gentoo)到我的任何树莓派(运行Arch Linux ARM)或我的 VPS(也运行 Arch Linux)和开始一个 Tmux 会话我被告知....

open terminal failed: missing or unsuitable terminal: xterm-kitty
Run Code Online (Sandbox Code Playgroud)

但是,我有一台也在运行 Arch 的笔记本电脑,如果我从台式机/服务器通过 SSH 连接到它并启动 SSH 会话,则没有问题,反之亦然,从笔记本电脑到台式机/服务器和 Tmux 的 SSH 运行正常。

我应该补充一点,如果 SSH 连接到运行 Arch Linux 的 Raspberry Pi/VPS,如果它在 Xfce 终端下,我可以运行 Tmux 会话。

关于如何调查或解决这个问题以便 Tmux 会话在任何地方都能工作的任何想法?

小智 17

如果您在登录时收到“终端未知、丢失或不合适的终端”等错误信息,则表示服务器无法识别您的终端。

正确的解决方法是terminfo在服务器上安装客户端的文件。这告诉服务器上的控制台程序如何正确地与您的终端交互。您可以使用获取有关当前 terminfo 的信息infocmp,然后找出哪个包拥有它。

如果不能正常安装,可以把你的terminfo复制到你服务器的home目录下:

$ ssh myserver mkdir -p  ~/.terminfo/${TERM:0:1}
$ scp /usr/share/terminfo/${TERM:0:1}/$TERM myserver:~/.terminfo/${TERM:0:1}/
Run Code Online (Sandbox Code Playgroud)

登录和退出服务器后,问题应该得到解决。


小智 5

@user88036 接受的答案是一个很好的解释和一个很好的通用解决方案。我最近在 Kitty 文档中发现他们使用 CLI 工具有一个很好的实用程序。从文档

这是因为 kitty terminfo 文件在服务器上不可用。您可以使用以下命令通过 ssh 连接,该命令会自动将 terminfo 文件复制到服务器:

kitty +kitten ssh myserver
Run Code Online (Sandbox Code Playgroud)

https://sw.kovidgoyal.net/kitty/faq.html#i-get-errors-about-the-terminal-being-unknown-or-opening-the-terminal-failing-when-sshing-into-a-不同的计算机