Ich weiß, dass ich in Mutt einen Druckbefehl konfigurieren kann über .muttrc
zB:
set print=ask-yes
set print_command="..."
Aber welchen Druckbefehl soll ich für hübsches Drucken verwenden?
Nun, die a2ps
Ausgabe erscheint trotz der -=mail
Verknüpfung ein wenig spartanisch . Es ist nicht UTF8 unterstützt . Es gibt einen paps
' UTF-8 in PostScript-Konverter mit Pango ', der derzeit keine Unterstützung für Ränder, E-Mail-Layout oder ähnliches bietet.
mp
: Nizza Standard-Header. Wieder keine UTF8-Unterstützung. Standardränder sind lächerlich klein - wenn Sie breitere Ränder angeben, wird der Haupttext hinter der Fußzeile gedruckt.
enscript
: -G
für ausgefallene Kopfzeilen ist das in der Tat ausgefallen. Keine UTF8- Unterstützung .
Was verwenden Sie im 21. Jahrhundert, um Ihre Mails von Mutt zu drucken?
(Es sollte UTF8, DIN A4 Ausgabe als PS und / oder PDF unterstützen)
print_command
. Daher reicht es nicht aus, print_commands über den|
Befehl (pipe) in mutt zu testen .Antworten:
Es gibt auch Muttprint . Es tut Unterstützung UTF-8 und seine Ausgabe sieht standardmäßig anständig. Muttprint verwendet LaTeX und stellt Hooks zur Anpassung bereit.
Da ich Mails aus verschiedenen Umgebungen drucke, kann ich keinen Standarddrucker verwenden. Daher habe ich es so eingerichtet (via
~/.muttrc
), dass es einen PDF-Viewer verwendet, in dem ich dynamisch einen Drucker auswählen kann:Mktemp verwendet
/tmp
standardmäßig. So verwenden Sie ein benutzerdefiniertes Cache-Verzeichnis:Übrigens können Sie
print_decode
in muttrc konfigurieren, ob der Befehl print_command MIME, Codierungen usw. selbst decodieren kann. Standardmäßig ist festgelegt,yes
welche Einstellung für Befehle wie usw. die richtigemuttprint
istenscript
.In Bezug auf die UTF-8-Ausgaben von a2ps, enscript und mp kann man nur den Schluss ziehen, dass sie als veraltet gelten sollten. Betrachtet man die Projektseiten, so scheinen diese nicht gepflegt zu sein (zB die letzte Nachricht auf der mp-Seite stammt aus dem Jahr 2002 und erwähnt eine Mailingliste bei Sun).
quelle
/tmp/$USER.ps
ist für andere Benutzer sehr vorhersehbar. Verwenden Siemktemp
temporäre Dateien erstellen! (Siehe meine Antwort )./tmp/$USER.ps
ist doof . Ich habe meine Antwort aktualisiert./tmp/*
beim Neustart gelöscht wird.mktemp
das Ziel ist es, Kollisionen mit Dateinamen zu vermeiden. Es kann jedoch aus anderen Gründen fehlschlagen. Ich habe den Befehl so geändert, dass muttprint nur ausgeführt wird, wenn mktemp erfolgreich war (ich vermute, dass muttprint standardmäßig einen anderen Dateinamen verwendet, wennf
leer ist). Somit haben Sie nur dann eine übrig gebliebene temporäre Datei, wenn evince oder rm fehlschlagen. Ich halte dies für unwahrscheinlich - und wenn doch, halte ich die problematische Datei für eine Hilfe beim Debuggen des Problems. Klar,/tmp
wird automatisch aufgeräumt. Ist$HOME
aber für sensible Dokumente von Vorteil, wenn es verschlüsselt ist aber/tmp
nicht.mktemp -p $HOME/.cache/mutt-XXXXXXXXXX
in diesem Fall abermktemp
das richtige Werkzeug.Sie können auch die Verwendung von paps in Betracht ziehen , das eine UTF-8-codierte Datei liest und ein PostScript-Rendering der Datei generiert. Das Rendern erfolgt durch Erstellen von Umrisskurven über das pango ft2-Backend.
quelle
Erstellen Sie sicherer und mit weniger Papier Folgendes
wrapper
:Es gibt meinen Druckbefehl für
.muttrc
:Und da ist der Inhalt von
"$HOME/bin/print_preview-wrapper.sh"
Dieser Wille
gv
weil es mir gefällt, aber du könntest jedes andere tool laufen lassen.quelle
read tmpdir < <(mktemp -d /tmp/print_preview-$USER-XXXXXXXX)
einen Vorteil gegenübertmpdir=$(mktemp -d /tmp/print_preview-$USER-XXXXXXXX)
?read host foo foo ip < <(host google.com); echo $ip $host
Hier ist ein einfaches Rezept, das ich unter verschiedenen UNIX-Betriebssystemen verwende:
wo
••My_printer••
ist der Name des Druckers.quelle