Gráficos em TTY

8

Surgiu algo que exige que eu trabalhe apenas na linha de comando. Meu trabalho principal é programação (principalmente em Fortran e Octave) e eu preciso exibir gráficos.

Como um exemplo idiota:

Eu abro oitava e digito ezplot('sin(x)') e isso indica que o X11 Display Environment não está configurado e não consegue abrir a tela. Existe alguma maneira de visualizar gráficos no TTY?

Obviamente, não espero gráficos incríveis, mas preciso ver se estou no caminho certo de vez em quando.

Meu algoritmo atual é extremamente ineficiente. Eu print -djpeg foo.jpeg e scp para o meu computador vizinho. Emprestar isso e continuar.

    
por Gilles 24.01.2012 / 19:31

7 respostas

5

Se você simplesmente tiver uma série de .jpeg imagens que deseja exibir em um tty, poderá usar aview ou asciiview . Ao chamar asciiview com uma imagem, ela converterá a imagem para o formato .pnm - usando um programa externo como o NetPBM ou o ImageMagic - antes de passá-la para aview para exibição. O .pnm é o formato de imagem ascii usado para representar a imagem como um conjunto de caracteres. Para ver uma imagem neste formato, basta usar:

$ asciiview foo.jpeg

ou para salvar uma cópia .pnm primeiro:

$ convert foo.jpeg foo.pnm
$ aview foo.pnm

Eles suportam o driver a partir de aalib .

    
por 24.01.2012 / 23:22
5

Você não pode executar um servidor X em outro tty e mudar para ele quando precisar? Se você tiver uma máquina próxima a você que esteja executando o X, poderá usar o encaminhamento do X11 para que exibir lá.

    
por 24.01.2012 / 19:38
5

A resposta mais direta é usar jp2a : JPEG para ASCII.

Talvez você possa usar a famosa biblioteca de arte ascii: libcaca . Ele ainda permite ver filme em um terminal , por isso também deve funcionar para jpeg simples.

    
por 24.01.2012 / 20:28
3

Se você estiver usando um programa de terminal capaz de exibir gráficos sixel , por exemplo, um xterm ou um dos seus derivados, você pode converter imagens em formato sixel com PySixel e produzir, ou então integrar um filtro que imprima os seis comandos diretamente. / p>

Dessa forma, você terá gráficos em cores reais (não ASCII) no terminal.

    
por 27.01.2017 / 18:03
2

Você pode desenhar gráficos diretamente como ASCII com gnuplot ;
Defina o tipo de terminal como dumb , isso é tudo que você precisa:

$ gnuplot
gnuplot> set terminal dumb
Terminal type set to 'dumb'
Options are 'feed  size 79, 24'
gnuplot> plot sin(x)



    1 ++---------------***---------------+---**-----------+--------**-----++
      +                *  *              +  *  **         +  sin(x) ****** +
  0.8 ++              *   *                 *    *               *    *   ++
      |              *     *               *     *               *     *   |
  0.6 *+             *      *              *     *               *     *  ++
      |*             *      *             *       *             *       *  |
  0.4 +*            *       *             *       *             *       * ++
      |*            *        *            *        *           *        *  |
  0.2 +*           *         *            *        *           *         *++
    0 ++*          *          *          *         *          *          *++
      | *          *          *         *           *         *           *|
 -0.2 ++ *         *          *         *           *         *           *+
      |  *        *           *        *             *        *           *|
 -0.4 ++ *        *            *       *             *       *            *+
      |  *       *              *      *             *      *              *
 -0.6 ++  *      *              *      *             *      *             +*
      |    *    *               *     *               *     *              |
 -0.8 ++   *    *                *   *                 *   *              ++
      +     *  *       +         **  *   +             *  *                +
   -1 ++-----**--------+-----------**----+--------------***---------------++
     -10              -5                 0                5                10

gnuplot>
    
por 26.11.2014 / 23:27
1

Se você estiver em um console TTY no Linux ou FreeBSD, você pode usar o svgalib para mostrar imagens no modo gráfico, sem o X11. A biblioteca pode mudar o console para o modo gráfico - não é comumente usado hoje, porque o X11 tem suas vantagens.

Existe um visualizador de imagens para o console, que pode precisar de alguns ajustes para construí-lo, porque é um pouco desatualizado, mas vale a pena tentar.

O visualizador de imagens zgv - há também um visualizador semelhante para o X11, chamado xzgv , caso você goste muito da interface.

    
por 26.11.2014 / 23:46
0

Para gráficos reais, sua melhor (e possivelmente única) aposta é svgalib , mas esteja ciente de que não tem nada em comum com o X11, então você precisará escrever seu próprio substituto para ezplot .

    
por 25.01.2012 / 07:53

Tags