caracteres unicode aparecendo subitamente no console SSH da CLI do asterisco

2

Eu tenho um problema misterioso. Eu me conecto a uma máquina virtual do Arch Linux executando o asterisco. De repente, sempre que entro na CLI do asterisco, o console SSH cospe códigos de caracteres unicode. O que estou mostrando abaixo é o resultado do movimento das setas. Como posso recuperar minha exibição normal?

aag ~ $ sudo asterisk -r
Connected to Asterisk 13.9.1 currently running on asterisk (pid = 1399)
asterisk*CLI> \U+4B01B\U+4B05B\U+4B041
aag
fonte

Respostas:

5

O problema é discutido nos fóruns do Asterisk aqui https://community.asterisk.org/t/cli-gibberish-prompt-and-input-appear-to-be-some-sort-of-unicode-characters/67382/15

É causado quando o Asterisk usa uma libeditversão incompatível externa (que é a opção padrão no Asterisk, se fornecida pelo sistema, e o Arch Linux fornece por padrão).

Uma solução alternativa é compilar o Asterisk --with-libedit=internal. Outra solução alternativa é fazer o downgrade libeditpara uma versão compatível (por exemplo, libedit 20150325_3.1-2)

miopa
fonte
11
Apenas uma sugestão para uma abordagem não-invasiva, obter as versões adequadas de libedit(e libtinfoque exige por si só) e usar LD_PRELOADem vez de fazer um downgrade biblioteca de todo o sistema: alias asterisk="LD_PRELOAD=/usr/local/lib/libtinfo.so.5:/usr/local/lib/libedit.so.0.0.53 asterisk". Claro que isso pressupõe que você colocar essas bibliotecas em / usr / local / lib
Marcelo
1

Você pode editar o arquivo PKGBUILD e adicionar --with-libedit=internalna linha ./configure.

Lilong
fonte
Obrigado. Não tenho certeza do motivo pelo qual foi rebaixado - o rebaixador pode fornecer clareza? Além disso, o que exatamente essa opção PKGBUILD faz?
AAG
PKGBUILD é o arquivo para criar pacotes. Como o asterisk está no AUR, é possível fazer o download do arquivo PKGBUILD, editar o arquivo e, em seguida, reconstruir e reinstalar o pacote asterisk. Como alternativa, você pode fazer o downgrade do pacote libedit.
Lilong
0

Esses são caracteres de cor / posição.

Você tem 2 opções

1) Verifique se o cliente ssh suporta o mesmo tipo de terminal que você possui na variável TERM. Para obtê-lo, use

env|grep TERM

2) execute o console do asterisco sem cor

-n Desative as cores ANSI mesmo em terminais capazes de exibi-las.

Então use

   asterisk -rn
arheops
fonte
obrigado por ter tempo para me ajudar. Lamentavelmente, nenhuma das sugestões ajudou. Iniciar a CLI do asterisco com a opção -rn não mudou nada. Em seguida, removi as cores editando ~ / .bashrc e reiniciando. Ainda está recebendo o código sem sentido. Devo acrescentar que locale indica que asterisco (no Arch Linux) está usando UTF-8, e o software terminal (arremate) também está usando xterm e UTF-8
AAG
Talvez o seu asterisco tenha sido compilado em outro ambiente sem o UTF-8. Tente outra codificação (no terminal e na massa).
Arheops 17/07/16
Instalei uma versão completamente nova do arch linux e compilei novamente o asterisco do yaourt. Mais uma vez, sem alegria. O ambiente linux funciona muito bem, mas assim que eu mudo para o asterisco, as coisas dão errado. Isso só acontece há algumas semanas, o que me leva a pensar se é um bug.
aag
Arch linux não é tão comum. Desculpe, não posso dizer nada, exceto o que digo acima.
Arheops