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
,但是github
上master
分支一直在开发中。
想着时间已经过去这么久了,官方应该已经解决了这个问题,毕竟现在的很多终端都是支持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
了。