我正在切换终端应用程序,从OSX的Terminal.app切换到谷歌浏览器Secure Shell app,并且tmux窗口中窗格之间的界线分割方式从一个终端变为另一个终端。
在Terminal.app中,分界线只是一行:
在Secure Shell中,分隔线呈现为q
s:
我可以想到三种可能的情况:
但我不确定它是什么。如果是第3种情况,我会很乐意破解它,但是我不确定显示行与q
的责任是什么,所以我无法立即开始谷歌搜索和学习什么需要做。
答案 0 :(得分:3)
您的终端模拟器(Google Chrome Secure Shell )不支持备用字符集(ASC)功能,该功能由连接到的TERM环境变量指定的terminfo数据库条目公布。 (或开始)您的 tmux 会话。
Chromium项目有an issue有关Chrome应用使用的终端模拟器中的字符集支持。
根据VT100 User Guide, Table 3-9: Special Graphics Characters,当选择“特殊图形集”时,q
用于绘制“水平线 - 扫描5”。
在 terminfo 下,VT100特殊图形字符作为备用字符集(ACS)功能的一部分提供;请参阅terminfo(5) man page的“线图形”部分。
如果您使用 tmux 1.4或更高版本,并且Google Chrome Secure Shell 支持UTF-8,那么您应该能够获得UTF-8线条绘制字符将-u
提供给 tmux 客户端(或者当您运行 tmux 客户端时,将UTF-8
存在于LC_ALL,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数据库条目(由terminal-overrides
调整)不会宣传ACS功能。
注意:在配置更改生效之前,您基本上需要重新启动 tmux 服务器(退出所有会话)。
答案 1 :(得分:3)
我有同样的问题(Putty)并通过使用以下命令
更改LANG环境变量来修复它export LANG="en_US:en"
然后我运行tmux并且线条正确显示
希望有所帮助
答案 2 :(得分:1)
Secure Shell目前不进行线条绘制字符。他们很快就会加入