Autor Thema: ANSI escape code auch für den Drucker?  (Gelesen 891 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline gosia

  • Held Mitglied
  • *****
  • Beiträge: 1475
  • Dankeschön: 283 mal
  • Desktop: Openbox + xfce
  • Grafikkarte: Intel HD 4000
  • Grafikkartentreiber: i915 (free)
  • Kernel: 4.19 Artix
  • Prozessor: Intel Core i5-3210M
  • Skill: Durchschnitt
  • Zweig: stable
ANSI escape code auch für den Drucker?
« am: 21. August 2015, 21:16:00 »
Angeregt durch diesen Artikel https://de.manjaro.org/index.php?topic=3558.msg29333#msg29333 von virtual-dev habe ich mal das mir bisher unbekannte Kommando inxi ausprobiert u. eine sehr schön formatierte Übersicht meines Systems in blau und weiß erhalten. Das fand ich so informativ, daß ich es mit inxi -Fzn | lpr ausdrucken wollte, was aber nichts wurde, weil mein Drucker, ein HP Officejet 6000, die Escape-Codes einfach "pur" ausgedruckt hat, also etwa so: 1;34mSystem: 0;37m 1;34mHost: usw.
Gibt es eine Möglichkeit bzw. ein Programm o.ä., dem Drucker beizubringen, den ANSI escape code in die entsprechenden Farben umzusetzen?

Viele Grüße gosia
"funktioniert nicht" ist keine brauchbare Fehlermeldung

Offline Pig of Destiny

  • Held Mitglied
  • *****
  • Beiträge: 1383
  • Dankeschön: 125 mal
  • Desktop: Xfce
  • Grafikkarte: Intel Graphics
  • Grafikkartentreiber: free
  • Kernel: 4.16
  • Prozessor: Intel Celeron N3350
  • Skill: Durchschnitt
  • Zweig: Arch Linux
Re: ANSI escape code auch für den Drucker?
« Antwort #1 am: 21. August 2015, 22:06:00 »
Ich denke nicht, dass das so direkt funktionieren wird.

Ich hätte da zwei stümperhafte Alternativen, beide machen quasi nen Screenshot:

Möglichkeit 1:
Du rufst irgend eine Konsole (z.B. tty3) auf und führst da dein inxi -F aus. Wenn du dann alle gewünschten Ausgaben auf deinem Bildschirm siehst, dann kannst du in deinem Terminal folgenden Befehl ausführen: sudo setterm -dump 3 -file /home/[BENUTZERNAME]/screenshot.txt. Dann hast du eine Textdatei, die das "abbildet" was in Konsole 3 auf deinem Bildschirm zu sehen war. Solltest du eine andere Konsole als Konsole 3 benutzen, dann musst du in dem Befehl die Ziffer entsprechend anpassen. Die Textdatei ist dann natürlich nicht farbig, aber zumindest so formatiert wie der Ausdruck...
Sollte nicht alles in der Textdatei angekommen sein, weil nicht alles auf den Monitor gepasst hat, dann kannst du den Rest, der nicht mehr viel sein dürfte, ja evtl händisch ergänzen.


Nun zu Möglichkeit 2, die deutlich stumpfer ist:
Mach nen Screenshot von deinem Terminal mit Shutter. Mit dem Tool kannst du nen Bildschirmbereich mit der Maus auswählen oder das ganze Terminal auswählen und vieles mehr.

Eigentlich schäme ich mich fast die zweite Möglichkeit überhaupt aufzuführen...



Alternativ kannst du ja auch einfach den Inhalt der Konsole per Copy & Paste in ne txt-Datei kopieren o.ä.
« Letzte Änderung: 21. August 2015, 22:18:24 von Pig of Destiny »

Offline gosia

  • Held Mitglied
  • *****
  • Beiträge: 1475
  • Dankeschön: 283 mal
  • Desktop: Openbox + xfce
  • Grafikkarte: Intel HD 4000
  • Grafikkartentreiber: i915 (free)
  • Kernel: 4.19 Artix
  • Prozessor: Intel Core i5-3210M
  • Skill: Durchschnitt
  • Zweig: stable
Re: ANSI escape code auch für den Drucker?
« Antwort #2 am: 21. August 2015, 22:42:06 »
Hallo Pig of Destiny,
Ich hätte da zwei stümperhafte Alternativen, beide machen quasi nen Screenshot:
Ja, an einen Screenshot hatte ich auch schon gedacht. Würde ich zwar nicht als "stümperhaft" bezeichnen, wäre aber doch mehr eine "Notlösung".
Ich hatte nur gehofft, daß man dem Drucker irgendwie (z.B. mit einem Filterprogramm) Escape-Sequenzen "beibringen" könnte. Ganz früher war das ja relativ normal, mit "ESC 1B 21" (das ist jetzt nur ein Phantasiebefehl) hat man z.B. Fettdruck eingeschaltet. Nannte sich wohl ESC/P2, als die Drucker als Qualitätsmerkmal noch "Epson-kompatibel" hatten.
Alternativ kannst du ja auch einfach den Inhalt der Konsole per Copy & Paste in ne txt-Datei kopieren o.ä.
Naja, in meiner Verzweiflung habe ich ja schon inxi -Fzn > /tmp/inxi.txt probiert, aber die entstehende Datei enthält natürlich auch den ANSI escape code.

Viele Grüße gosia
"funktioniert nicht" ist keine brauchbare Fehlermeldung

Offline Pig of Destiny

  • Held Mitglied
  • *****
  • Beiträge: 1383
  • Dankeschön: 125 mal
  • Desktop: Xfce
  • Grafikkarte: Intel Graphics
  • Grafikkartentreiber: free
  • Kernel: 4.16
  • Prozessor: Intel Celeron N3350
  • Skill: Durchschnitt
  • Zweig: Arch Linux
Re: ANSI escape code auch für den Drucker?
« Antwort #3 am: 23. August 2015, 17:53:09 »
ja, schon

aber wenn du mit der maus den text den du kopieren willst markierst in deinem terminal, dann mit strg+shift+c kopierst und das in ner textdatei  mit strg+v einfügst hast du ja den text inklusive formatierung, oder?


ich weiß, is nicht gerade linux-like, aber das einfachste

Offline gosia

  • Held Mitglied
  • *****
  • Beiträge: 1475
  • Dankeschön: 283 mal
  • Desktop: Openbox + xfce
  • Grafikkarte: Intel HD 4000
  • Grafikkartentreiber: i915 (free)
  • Kernel: 4.19 Artix
  • Prozessor: Intel Core i5-3210M
  • Skill: Durchschnitt
  • Zweig: stable
Re: ANSI escape code auch für den Drucker?
« Antwort #4 am: 23. August 2015, 20:59:56 »
Hallo Pig of Destiny,
naja, copy + paste ist tatsächlich nicht so Linux-like. Aber es erfüllt zumindest zu 90% seinen Zweck. Die restlichen 10% sind aber mehr ein Luxus-Problem der Art "hätte ich gern, ist aber nicht lebensnotwendig". Ich hätte ja gern auch die Farben. So sieht es etwa im Terminal aus:
System:    Host: smok Kernel: 4.0.9-1-MANJARO x86_64 (64 bit) Desktop: MATE 1.10.1
usw.
und so hätte ich es eben auch gern auf dem Drucker ausgegeben. Aber wie gesagt, ein Luxusproblem...

Viele Grüße gosia

"funktioniert nicht" ist keine brauchbare Fehlermeldung

Offline Pig of Destiny

  • Held Mitglied
  • *****
  • Beiträge: 1383
  • Dankeschön: 125 mal
  • Desktop: Xfce
  • Grafikkarte: Intel Graphics
  • Grafikkartentreiber: free
  • Kernel: 4.16
  • Prozessor: Intel Celeron N3350
  • Skill: Durchschnitt
  • Zweig: Arch Linux
Re: ANSI escape code auch für den Drucker?
« Antwort #5 am: 23. August 2015, 21:24:36 »
Das ist jetzt zwar schon ganz und gar nicht mehr Linux-like, aber du kannst den Text ja auch in Writer kopieren und die Farben einstellen, wie du sie gerne hast...

Offline gosia

  • Held Mitglied
  • *****
  • Beiträge: 1475
  • Dankeschön: 283 mal
  • Desktop: Openbox + xfce
  • Grafikkarte: Intel HD 4000
  • Grafikkartentreiber: i915 (free)
  • Kernel: 4.19 Artix
  • Prozessor: Intel Core i5-3210M
  • Skill: Durchschnitt
  • Zweig: stable
Re: ANSI escape code auch für den Drucker?
« Antwort #6 am: 24. August 2015, 21:05:19 »
Hallo Pig of Destiny,
da habe ich ja nun eine Masse Lösungsmöglichkeiten  :)
Aber mich hat jetzt der Ehrgeiz gepackt und ich probiere ein Skript zu schreiben, das aus der Textdatei eine kleine LaTex-Datei macht. Erster Ansatz: mittels sed aus den entsprechenden ESC-Sequenzen das LaTeX-Kommando \color{blue} machen, usw.
Heisst zwar mit Kanonen auf Spatzen schiessen, aber was soll's

Viele Grüße gosia
"funktioniert nicht" ist keine brauchbare Fehlermeldung

Offline caho

  • Held Mitglied
  • *****
  • Beiträge: 660
  • Dankeschön: 18 mal
  • Desktop: Plasma 5.x
  • Kernel: 4.19
  • Prozessor: Intel Quad Core i7-2600
  • Skill: Durchschnitt
  • Zweig: stable
Re: ANSI escape code auch für den Drucker?
« Antwort #7 am: 25. August 2015, 09:10:44 »
Ich habe so ein bisschen mitgelesen, da mich das Thema auch interessiert.

Hier meine kleine (unelegante), aber praktische Lösung:

Die farbige Konsolenausgabe (z. B: Inxi -Fz) markieren, kopieren und hier

http://tohtml.com/cpp/

im Feld "Sourcecode" einfügen.

Anschließend auf "Highlight" klicken, dann kann man rechts das Ergebnis wegkopieren, in Writer einfügen und von dort farbig ausdrucken.
Mit dem Button "Style" kann die Farben ändern, falls gewünscht.

Siehe Dateianhang.

Gruß
caho

Ein Freund klassischer Gitarre

Offline Pig of Destiny

  • Held Mitglied
  • *****
  • Beiträge: 1383
  • Dankeschön: 125 mal
  • Desktop: Xfce
  • Grafikkarte: Intel Graphics
  • Grafikkartentreiber: free
  • Kernel: 4.16
  • Prozessor: Intel Celeron N3350
  • Skill: Durchschnitt
  • Zweig: Arch Linux
Re: ANSI escape code auch für den Drucker?
« Antwort #8 am: 25. August 2015, 15:22:57 »
Zum Glück schreiben wir nicht im Arch-Forum. Die würden uns steinigen  ;D

Offline caho

  • Held Mitglied
  • *****
  • Beiträge: 660
  • Dankeschön: 18 mal
  • Desktop: Plasma 5.x
  • Kernel: 4.19
  • Prozessor: Intel Quad Core i7-2600
  • Skill: Durchschnitt
  • Zweig: stable
Re: ANSI escape code auch für den Drucker?
« Antwort #9 am: 25. August 2015, 18:06:23 »
Aber vielleicht lesen die heimlich mit und sind inoffiziell manchmal ganz froh über die Posts in diesem Forum :--)

Gruß
caho
Ein Freund klassischer Gitarre

Offline gosia

  • Held Mitglied
  • *****
  • Beiträge: 1475
  • Dankeschön: 283 mal
  • Desktop: Openbox + xfce
  • Grafikkarte: Intel HD 4000
  • Grafikkartentreiber: i915 (free)
  • Kernel: 4.19 Artix
  • Prozessor: Intel Core i5-3210M
  • Skill: Durchschnitt
  • Zweig: stable
Re: ANSI escape code auch für den Drucker?
« Antwort #10 am: 25. August 2015, 20:48:56 »
Hallo Pig of Destiny und caho,
vielen Dank für eure rege Mitarbeit. Da ich mir aber nicht vorstellen konnte, daß vorher noch nie jemand dieses kleine Problem hatte, habe ich fleißig gegoogelt und siehe da, Bingo!
Es gibt zwei Tools, mit denen man das ganze Linux-like machen kann:
Als Haupttool aha, das Texte mit ANSI escape codes in HTML übersetzt und wkhtmltopdf, nur zur Ergänzung um die HTML-Seite in pdf zu konvertieren. Das zusammengefügt ergibt dann
inxi -Fzn | aha | wkhtmltopdf  - - | lprAuf dieser Seite https://unix.stackexchange.com/questions/70450/can-groff-create-a-ps-file-with-interpreted-ansi-escape-characters habe ich die Lösung gefunden.
aha und wkhtmltopdf finden sich beide in AUR.

Viele Grüße gosia
"funktioniert nicht" ist keine brauchbare Fehlermeldung