我遇到了一个神秘的问题。我连接到运行 Asterisk 的 Arch Linux 虚拟机。突然,每当我进入 Asterisk CLI 时,SSH 控制台都会吐出 Unicode 字符代码。下面显示的是移动箭头的结果。我怎样才能恢复正常显示?
aag ~ $ sudo asterisk -r
Connected to Asterisk 13.9.1 currently running on asterisk (pid = 1399)
asterisk*CLI> \U+4B01B\U+4B05B\U+4B041
答案1
该问题已在 Asterisk 论坛上进行了讨论https://community.asterisk.org/t/cli-gibberish-prompt-and-input-appear-to-be-some-sort-of-unicode-characters/67382/15
这是由于 Asterisk 使用外部libedit
(如果系统提供,则是 Asterisk 中的默认选项,Arch Linux 默认提供它)且版本不兼容所导致的。
一种解决方法是使用 编译 Asterisk --with-libedit=internal
。另一种解决方法是降级libedit
到兼容版本(例如 libedit 20150325_3.1-2)
答案2
您可以编辑 PKGBUILD 文件并添加--with-libedit=internal
./configure 行。
答案3
这些是颜色/位置字符。
您有 2 个选择
1)确保您的 ssh 客户端支持与 TERM 变量中相同的终端类型。要获得它,请使用
env|grep TERM
2)运行不带颜色的星号控制台
-n 即使在能够显示 ANSI 颜色的终端上也禁用它们。
因此使用
asterisk -rn