我使用SSH连接到服务器,有时我需要使用一些从右到左的语言(例如阿拉伯语)。
当我使用一些控制台软件(例如lxterminal或xfce4-terminal)时,它的工作效果很好。在其他终端中,文本是向后的。而且,这种行为在不同的计算机上甚至不一致( xfce4-terminal在家里和我的办公室的行为都不一样)。
更糟糕的是终端机没问题。正确显示本地文件。只有当我通过SSH连接时,问题才会发生。
所以..。有什么问题吗?从哪里来的?是SSH,还是终端,还是两者兼而有之?
发布于 2020-04-24 15:43:38
更糟糕的是终端机没问题。
我怀疑是这样。这是一个比你想象的复杂得多的故事。终端的行为不同,一个人的行为可能对某一组应用程序是从右向左友好,而其他人的行为可能对另一组应用程序是RTL友好的。
正确显示本地文件。
同样,这在很大程度上取决于您所说的“显示”是什么意思:您是cat它们,还是使用vim、emacs、less、其他应用程序等打开它们。也许对于某些终端,cat给出了预期的结果,而vim则给出了意想不到的结果,而其他的终端则相反。
您可能会对这感兴趣,这是一份长达50页的技术文档,研究情况并提出解决问题的方法,这样终端就可以支持多种模式,从而支持不同类型应用的看似矛盾的需求。
VTE版本0.58实现了所提出的解决方案。中兴通讯是lxterminal和xfce4-terminal以及其他许多终端使用的终端仿真引擎。因此,这些软件中的“好”或“坏”行为很容易取决于VTE的版本。但是,您可能会发现旧的行为是“好的”行为,而新的行为是“不好的”,这取决于您测试的应用程序的类型。在这种情况下,使用VTE >= 0.58,您可以使用文档中提到的转义序列切换模式,例如printf "\e[8l"恢复到旧的行为。
ssh是无关紧要的,除了软件的本地或远程版本可能是不同的。
https://unix.stackexchange.com/questions/582207
复制相似问题