在远程服务器上粘贴到 SSH 时会出现奇怪的字符,又称括号粘贴

在远程服务器上粘贴到 SSH 时会出现奇怪的字符,又称括号粘贴

当我连接到任何远程 Ubuntu 服务器时,大多数(如果不是全部)服务器都会在粘贴文本的前面和后面打印多余的字符。

我正在为 Windows 10 Pro 64 位使用 putty 0.70。

0~/home/kreezxil/work/cobbleblock/./mods/clumps-3.1.1.jar1~

0~ 和 1~ 是我想要消除的额外字符。

我在 Ubuntu 16.04.5 LTS 服务器上的语言环境输出是:

LANG=en_US.UTF-8
LANGUAGE=en_US:
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

猫/等/默认/区域设置

#  File generated by update-locale
LANG=en_US.UTF-8
LANGUAGE="en_US:"
LC_ALL=en_US.UTF-8

非常感谢您的帮助。

2019 年 2 月 18 日修订

我最近了解到这叫做括号内的粘贴当你在谷歌上搜索该术语时,你会发现很多与该问题相关的文章。几乎所有文章都完美地描述了我的问题,但它们的解决方案并不适合我,因为问题发生在从 Windows 10 抓取文本并粘贴到我的 Linux 服务器上的 ssh 会话中时。

那天晚些时候

我一时兴起,决定彻底卸载腻子,然后执行注册表清理和垃圾文件删除,从而确保它及其各种设置都从我的系统中删除。

了解到 Windows 10 有自己的 SSH,现在由 OpenSSH 提供支持。试过了,没有得到括号内粘贴。但我不喜欢它没有给我提供足够的自动化功能,例如它缺少 -pw(密码)选项。

然后我重新安装了 putty,这次选择的是 32 位版本,我一直使用 64 位,但这次我选择了 32 位。成功了,没有了括号内粘贴

我承认这一点,就像下面的好评论一样,是一个解决方案,但不是解决方案。虽然下面的第一个答案很好,但我并不完全愿意接受它,因为它不适用于我的情况,甚至当我问这个问题时,我也不知道该如何确切地表述这个问题。我希望我的经验和我发现的东西能帮助以后有人解决类似的问题。

时间又过去了,现在是2019年10月6日

此后,我重新安装了操作系统,并获得了最新版本的 Putty,即 0.73,是的,我获得了 64 位版本,并且确实有括号。然后我在这里重新发现了我自己的问题,并遵循了所有建议,但这次即使是 32 位 0.73 也确实有括号,这让我相信 Putty 开发团队中的某个人确实喜欢括号。

您在评论中看到我说我会尝试 0.70 32bit。那是一个好主意因为它没有括号内的问题。

答案1

我的一个朋友也遇到了同样的问题。

事实证明,他也在使用 64 位版本的 Putty 0.70,根据我在开场陈述中概述的经验,我告诉他,这听起来像是 Putty 的问题。我让他卸载它并安装 32 位版本的 Putty 0.70。括号内的粘贴立即停止了。

Putty 设置中没有禁用此行为的部分。下一步是将其报告给 64 位 Putty 开发分支。

简而言之,如果您从 Windows 转到 Putty 中的 Shell,并且收到带括号的粘贴字符,请检查您是否正在使用 64 位 Putty。您可以通过打开 Putty 并单击“关于”按钮来检查这一点。

在哪里可以找到版本

相关内容