8

我正在将终端应用程序从 OSX 的 Terminal.app 切换到 Google Chrome Secure Shell app,并且 tmux 中窗口中窗格之间的分界线从一个终端更改为另一个。

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

在 Secure Shell 中,分割线被渲染为一行qs:

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

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

但我不确定是哪个。如果是第 3 种情况,我很乐意破解它,但我不确定是什么负责显示 line vs qs,所以我无法立足开始谷歌搜索和学习需要做的事情。

4

3 回答 3

4

您的终端仿真器 (Google Chrome Secure Shell ) 不支持在您连接到(或启动)您的tmux会话时生效的 TERM 环境变量指定的 terminfo 数据库条目所宣传的备用字符集 (ASC) 功能。

Chromium 项目在 Chrome 应用程序使用的终端模拟器中存在字符集支持问题。


Per the VT100 User Guide, Table 3-9: Special Graphics Characters , when the “special graphics set” is selected, qis used to draw “Horizo​​ntal line - Scan 5”.

terminfo下,VT100 特殊图形字符作为备用字符集 (ACS) 功能的一部分提供;请参阅terminfo(5)手册页的“线条图形”部分。


如果您使用tmux 1.4 或更高版本,并且 Google Chrome Secure Shell支持 UTF-8,那么您应该能够通过提供-u给您的tmux客户端(或者UTF-8在 LC_ALL、LC_CTYPE 或 LANG 中出现你运行一个tmux客户端)。

或者,您可以配置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,并且其 TERM 的 terminfo 数据库条目(由 调整)不宣传 ACS 功能,则tmux将回退到 ASCII 线图(例如-|和)。+terminal-overrides

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

于 2012-05-10T05:49:54.477 回答
3

我有同样的问题(腻子)并通过使用以下命令更改 LANG 环境变量来修复它

export LANG="en_US:en"

然后我运行 tmux 并正确显示了行

希望能帮助到你

于 2013-05-22T08:28:27.400 回答
1

Secure Shell 目前不做画线字符。他们将很快添加

于 2012-05-10T03:16:33.680 回答