mosh连接服务器时终端颜色显示问题

记录自己生活或工作中遇到的问题的解决方案

在使用mosh连接到服务器Ubuntu 20.04时,发现终端(终端是Kitty,支持256color)的颜色不能正常显示。

使用命令查看了一下$TERM的设置

$ echo $TERM
xterm-256color

显示的是xterm-256color,说明配置的是没问题的。

查看mosh的版本:

$ mosh --version
1.3.2

可以看到mosh的版本是1.3.2,这个版本的发布日期是2017-07-22,但是githubmaster分支一直在开发中。

想着时间已经过去这么久了,官方应该已经解决了这个问题,毕竟现在的很多终端都是支持256color的,所以就在issue中搜索了一下,真的找到了一个解决方案。

定位问题

2017年11月23号就有人提过关于mosh的256color显示支持问题,而官方也已经解决了这个问题,但是不知道为什么都已经过去这么久了还没有发布新的版本。

具体的issue。不过评论中说的PPA也已经很久没有更新了。所以我们需要新的方案解决Linux系统的问题。

解决方案

想要让mosh能正确的显示256color,就只能手动编译mosh的master分支

可以查看官方的安装教程,包含手动编译的教程。

记得先将之前的安装卸载掉。

  • Mac

MacOS平台上,可以使用brew来进行自动的编译和安装。

$ brew uninstall mosh
$ brew install --HEAD mosh

Mac在编译安装的时候,会提示更新或者安装xcode命令行工具,就按照brew执行过程中的提示操作即可。

  • Linux

Ubuntu 20.04上安装,需要手动克隆mosh的仓库
在安装之前中,需要安装依赖,Ubuntu最新版本的依赖,比较少。如果你是比较旧的版本,可以参考官方的编译教程,里面有详细的依赖。

$ sudo apt install libncurses5-dev protobuf-compiler
$ git clone https://github.com/mobile-shell/mosh.git
$ cd mosh
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

最后执行make install的时候,最好添加sudo,因为涉及到将编译生成的可执行文件复制到系统可查找到的bin目录下。

结尾

现在再使用mosh username@server_host连接服务器,就可以显示256color了。

posted @ 2021-01-23 17:29  zzhaoleiの博客  阅读(194)  评论(0编辑  收藏  举报