Xterm.js: Não é possível limpar o terminal programaticamente

Criado em 6 set. 2017  ·  4Comentários  ·  Fonte: xtermjs/xterm.js

A execução de node -e "process.stdout.write ( '\u001Bc' );" deve limpar o terminal, mas isto é o que eu obtenho se o executar no xterm:

screen shot 2017-09-06 at 23 16 44

Se eu tentar limpar com node -e "process.stdout.write ( '\033[2J\033[0f' );" tudo ficará preto.

Existe uma maneira de limpar adequadamente?

typquestion

Todos 4 comentários

Usando node -e "process.stdout.write ( '\u001Bc' );" ou echo -e '\x1bc' diga ao bash para limpar, e o bash retorna uma resposta ao xterm.js. Acredito que é por isso que você está vendo o prompt novamente. Você pode chamar term.write('\x1bc') para limpar apenas o front end (xterm.js).

E se eu não tiver acesso à instância xterm?

Basicamente, quero limpar o terminal quando meu aplicativo CLI for iniciado. Como devo fazer isso se ele for iniciado a partir do xterm?

@fabiospampinato parece que o clear no Linux envia '\x1b[H\x1b[2J'

Isso se traduz em:

  • Mova o cursor para (1,1) ( CUP )
  • Apagar tudo na tela ( ED )

Consulte http://invisible-island.net/xterm/ctlseqs/ctlseqs.html para obter mais informações

Isso funciona, obrigado!

Esta página foi útil?
0 / 5 - 0 avaliações