Apr 29 2010

Drucken mit PuTTY

Kategorien: , , , , ,  

PuTTY bietet in seinen Einstellungen, einen lokalen Drucker anzugeben.Wie steuert man nun diesen Drucker an?

PuTTY Einstellungsfenster

Die Technik nennt sich "Passthrough Printing", "Terminal Printing" oder auch “Transparent Printing". Das Verfahren stammt noch aus der Zeit der Großrechner und basiert auf Steuercodes: mit Escape-Sequenzen lässt sich das Terminal steuern, Farben anzeigen und eben auch Druckausgaben starten und beenden. Der Dreh ist also, die Steuersequenz “Ab jetzt Drucken” zu senden, dann die zu druckenden Zeichen und dann die Steuersequenz für “Drucken zuende”.

Bei Anzio findet man zwei Möglichkeiten, dies per Shell-Skript zu erledigen: Die “elegantere” Methode, die auf tput basiert, und eine eher “hardcoded”, in der die vt100-Escape-Sequenzen hinterlegt sind. Da PuTTY sowieso nur auf die vt100-Sequenzen hört, umgekehrt aber tput bei der empfohlenen Terminaleinstellung “linux” kein Ergebnis liefert, ist diese 2. Möglichkeit auch die robustere:

#!/bin/sh
echo -e "033[5i\c"
cat $1
echo -e "\033[4i\c"

“Aufhübschen” kann man das noch weiter, indem man statt cat noch den Formatieren pr nutzt.

Kommentare

4 Kommentare:

  1. Prinz Bernhard Prinz Bernhard sagte am 21.09.2011 um 10:40:

    Das Beispiel ist falsch,

    Ein Zeichen, Oktal adrestellt erfordert
    xxx

    #!/bin/sh
    echo -e “033[5i\c”
    cat $1
    echo -e “033[4i\c”

  2. Prinz Bernhard Prinz Bernhard sagte am 21.09.2011 um 10:41:

    Noch blöder,
    man kann es in dem Blog nicht richtig darstellen.

    Korrekt ist

    backslash
    0
    oktaler Wert

    \333

  3. Prinz Bernhard Prinz Bernhard sagte am 21.09.2011 um 10:42:

    Immer noch falsch

    So soll es sein
    \0333

  4. Prinz Bernhard Prinz Bernhard sagte am 21.09.2011 um 10:43:

    Das Beispiel ist falsch,

    Ein Zeichen, Oktal dargestellt erfordert
    \0xxx

    #!/bin/sh
    echo -e “\0033[5i\c”
    cat $1
    echo -e “\0033[4i\c”

Kommentar abgeben