Grafiken in TTY

8

Es ist etwas aufgetaucht, das mich auffordert, nur in der Kommandozeile zu arbeiten. Meine Hauptaufgabe ist das Programmieren (hauptsächlich in Fortran und Octave) und ich muss Diagramme anzeigen.

Als lahmes Beispiel:

Ich öffne Oktave und tippe ezplot('sin(x)') und es wird ausgegeben, dass die X11-Anzeigeumgebung nicht eingestellt ist und die Anzeige nicht öffnen kann. Kann ich Grafiken in TTY anzeigen?

Natürlich erwarte ich keine großartigen Grafiken, aber ich muss ab und zu sehen, ob ich auf dem richtigen Weg bin.

Mein aktueller Algorithmus ist äußerst ineffizient. Ich print -djpeg foo.jpegund scp es dann auf meinen Nachbarcomputer. Leihen Sie sich das aus und fahren Sie fort.

Gilles 'SO - hör auf böse zu sein'
quelle
Drei offensichtliche Fragen fallen mir ein: Welches Betriebssystem verwenden Sie auf Ihrem Desktop-Computer? Befinden Sie sich an der Systemkonsole oder sind Sie remote verbunden? Und wenn Sie eine Remoteverbindung herstellen, welches Protokoll / welche Software verwenden Sie, um eine Verbindung zum Remote-Computer herzustellen (z. B. SSH mit PuTTY)?
Alexios
1
Sie haben hier tatsächlich zwei verschiedene Fragen. Kann ich Grafiken in TTY anzeigen? (Antwort: Aalib oder Svgalib); und das nicht angegebene Wie kann ich Diagramme auf ASCII drucken? (Gnuplot, Cernlib usw.). Können Sie klarstellen, was Sie wollen, anstatt wie Sie es erreichen wollen?
dmckee --- Ex-Moderator Kätzchen
2
Bezogen auf und kann in Beliebige (textbasierte) Plot-Tools in der Unix-Toolbox beantwortet werden ? .
dmckee --- Ex-Moderator Kätzchen
Ein kurzer Blick auf Google deutet darauf hin, dass Octave Aalib nicht direkt unterstützt und es niemanden interessiert. Es gibt Anzeichen dafür, dass einige Leute möchten, dass es mit Svgalib funktioniert, obwohl ich nicht weiß, ob es tatsächlich funktioniert.
dmckee --- Ex-Moderator Kätzchen
Wenn OP nicht scpständig Dateien speichern möchte, ist eine Überprüfung sshfsmöglicherweise eine Alternative.
Phk

Antworten:

5

Wenn Sie einfach eine Reihe von .jpegBildern haben, die Sie in einem tty anzeigen möchten, können Sie aviewoder verwenden asciiview. Beim Aufrufen asciiviewmit einem Bild wird das Bild .pnmmithilfe eines externen Programms wie NetPBM oder ImageMagic in das Format konvertiert, bevor es zur aviewAnzeige an übergeben wird. Dies .pnmist das asciiBildformat, mit dem das Bild als Zeichensatz dargestellt wird. Um ein Bild in diesem Format anzuzeigen, verwenden Sie einfach:

$ asciiview foo.jpeg

oder um zuerst eine .pnmKopie zu speichern :

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

Diese unterstützen den Fahrer ab aalib.


quelle
Keine der anderen Methoden Wort.
5

Können Sie einen X-Server nicht auf einem anderen tty ausführen und bei Bedarf zu diesem wechseln? Wenn Sie einen Computer neben sich haben, auf dem X ausgeführt wird, können Sie die X11-Weiterleitung verwenden , um ihn dort anzuzeigen.

psusi
quelle
Ein Beispiel hierfür finden Sie in dieser Frage.
Emanuel Berg
5

Die direkteste Antwort ist die Verwendung von jp2a : JPEG zu ASCII.

Vielleicht können Sie die berühmte ASCII-Kunstbibliothek verwenden: libcaca . Es erlaubt sogar, Filme in einem Terminal zu sehen , daher sollte es auch für einfaches JPEG funktionieren.

Coren
quelle
2

Sie können Diagramme direkt als ASCII mit zeichnen gnuplot;
Stellen Sie den Terminaltyp auf ein dumb, das ist alles, was Sie brauchen:

$ 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>
Volker Siegel
quelle
1
Nicht im Zusammenhang mit OP, aber ich stelle fest, dass es auch das Canvas- Terminal hat , was großartig ist!
@ Amphiteóth Ja, das ist auch interessant - es wird auf einer HTML-Leinwand gerendert, oder? Ich hätte erwähnt es, wenn der linksund elinksTextmodus - Browser es machen könnte.
Volker Siegel
1
Ja, mit etw, wie set output 'output.html'Sie diese Datei erhalten und die Quelle betrachten, ist es wie Inline-JS und ruft canvastext.js und gnuplot_common.js auf . Wusste das nicht! Ziemlich nützlich!
2

Wenn Sie ein Terminalprogramm verwenden, das Sixel- Grafiken anzeigen kann , z. B. eine xtermoder eine der Ableitungen, können Sie Bilder mit PySixel in das Sixel-Format konvertieren und ausgeben oder auf andere Weise einen Filter integrieren, der die Sixel-Befehle direkt druckt.

Auf diese Weise erhalten Sie im Terminal Echtfarbgrafiken (nicht ASCII).

dirkt
quelle
1

Wenn Sie sich unter Linux oder FreeBSD auf einer Konsole TTY befinden, können Sie mit svgalib Bilder im Grafikmodus ohne X11 anzeigen. Die Bibliothek kann die Konsole in den Grafikmodus schalten - sie wird heutzutage nur noch selten verwendet, da X11 seine Vorteile hat.

Es gibt einen Bildbetrachter für die Konsole, für dessen Erstellung möglicherweise einige Anpassungen erforderlich sind, da sie etwas veraltet ist, aber es lohnt sich, sie auszuprobieren.

Der Bildbetrachter zgv- es gibt auch einen ähnlichen Betrachter für X11 mit dem Namen xzgv, falls Ihnen die Benutzeroberfläche immer besser gefällt.

Volker Siegel
quelle
0

Für tatsächliche Grafiken ist svgalib Ihre beste (und möglicherweise einzige) Wette. Beachten Sie jedoch, dass es nichts mit X11 zu tun hat. Sie müssen daher Ihren eigenen Ersatz für X11 schreiben ezplot.

Shadur
quelle