tmux:窗格分隔线显示终端之间的差异

前端之家收集整理的这篇文章主要介绍了tmux:窗格分隔线显示终端之间的差异前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在切换终端应用程序,从OSX的Terminal.app到谷歌Chrome Secure Shell app,并且tmux窗口中窗格之间的分界线从一个终端变为另一个终端.

在Terminal.app中,分界线就是这样一条线:

在Secure Shell中,分隔线呈现为qs行:

我可以想到三种可能的情况:

>这是我可以在我的shell中修复的设置.
>这是我可以从Secure Shell的首选项中修复的设置.
>这是Secure Shell的首选项尚不支持的设置.

但我不确定它是什么.如果是第3种情况,我会很乐意破解它,但是我不确定显示行与qs的责任是什么,因此我无法立即开始谷歌搜索并了解需要做什么.

解决方法

您的终端模拟器(Google Chrome Secure Shell)不支持备用字符集(ASC)功能,该功能由连接到(或启动)tmux会话时生效的TERM环境变量指定的terminfo数据库条目公布.

Chromium项目有关于Chrome应用程序使用的终端仿真器中的字符集支持an issue.

根据VT100 User Guide,Table 3-9: Special Graphics Characters,当选择“特殊图形集”时,q用于绘制“水平线 – 扫描5”.

在terminfo下,VT100特殊图形字符作为备用字符集(ACS)功能的一部分提供;请参阅terminfo(5) man page的“线图形”部分.

如果您使用的是tmux 1.4或更高版本,并且Google Chrome安全外壳支持UTF-8,那么您应该能够通过向您的tmux客户端提供-u(或通过在LC_ALL中使用UTF-8)来获取UTF-8线条绘制字符,当您运行tmux客户端时,LC_CTYPE或LANG).

或者,您可以配置tmux以取消设置与ACS相关的terminfo功能(在〜/ .tmux.conf中):

# Google Chrome Secure Shell does not (yet) support ACS; do not use it (for now).
set-option -ga terminal-overrides ',*:enacs@:smacs@:rmacs@:acsc@'

如果连接的客户端不支持UTF-8,则tmux将回退到ASCII线条图(例如 –,|和),其TERM的terminfo数据库条目(由终端覆盖调整)不会通告ACS功能.

注意:在配置更改生效之前,您基本上需要重新启动tmux服务器(退出所有会话).

猜你在找的Linux相关文章