Wiem, że mogę skonfigurować polecenie drukowania w Mutt za pomocą .muttrc
np .:
set print=ask-yes
set print_command="..."
Ale jakiego polecenia drukowania powinienem używać do ładnego drukowania?
Cóż, a2ps
wynik wydaje się nieco spartański, nawet za pomocą -=mail
skrótu. Nie obsługuje UTF8 . Jest to, paps
co jest opisane jako „ Konwerter UTF-8 na PostScript przy użyciu Pango ” i obecnie nie obejmuje obsługi marginesów, układu wiadomości e-mail ani czegoś takiego.
mp
: ładny domyślny nagłówek. Ponownie brak obsługi UTF8. Domyślne marginesy są absurdalnie małe - jeśli określisz szersze marginesy, tekst podstawowy zostanie wydrukowany za stopką.
enscript
: -G
dla fantazyjnych nagłówki stron są naprawdę fantazyjne. Brak obsługi UTF8 .
Czego używasz w XXI wieku do drukowania maili od Mutt?
(Powinien obsługiwać wyjście UTF8, DIN A4 jako PS i / lub PDF)
print_command
. W związku z tym nie wystarczy przetestować komend print_poland za pomocą polecenia|
(pipe) w mutt.Odpowiedzi:
Istnieje również Muttprint . To nie obsługuje UTF-8 i jego wyjście wygląda przyzwoity domyślnie. Muttprint korzysta z LaTeX i zapewnia haki do personalizacji.
Ponieważ drukuję wiadomości e-mail z różnych środowisk, nie mogę używać domyślnej drukarki. Dlatego skonfigurowałem (za pomocą
~/.muttrc
), aby korzystać z przeglądarki PDF, w której mogę dynamicznie wybierać drukarkę:Domyślnie Mktemp używa
/tmp
. Aby użyć niestandardowego katalogu pamięci podręcznej:Przy okazji, możesz ustawić
print_decode
wewnątrz muttrc, aby skonfigurować, czy komenda print_ jest w stanie samodzielnie dekodować MIME, kodowanie itp. Domyślnie jest on ustawiony doyes
których jest właściwym ustawieniem dla poleceń, takich jakmuttprint
,enscript
etc.Jeśli chodzi o kwestie UTF-8 a2ps, enscript i mp, można po prostu stwierdzić, że należy je uznać za przestarzałe. Rzeczywiście, patrząc na strony projektu, wydaje się, że nie są utrzymywane (np. Ostatni news strony mp pochodzi z 2002 roku i wspomina o liście mailingowej znajdującej się w Sun).
źródło
/tmp/$USER.ps
jest wysoce przewidywalna dla innych użytkowników. Użyjmktemp
tworzenia plików tymczasowych! (Zobacz moją odpowiedź )./tmp/$USER.ps
jest głupie. Zaktualizowałem swoją odpowiedź./tmp/*
jest usuwany przy ponownym uruchomieniu.mktemp
racją bytu jest unikanie kolizji nazw plików. Może jednak zawieść z innych powodów. Zmieniłem polecenie tak, aby muttprint był wykonywany tylko wtedy, gdy mktemp się powiódł (podejrzewam, że muttprint domyślnie będzie używał innej nazwy pliku, gdyf
będzie pusty). Tak więc teraz kończysz się plikiem tymczasowym, jeśli evince lub rm zawiedzie. Uważam to za mało prawdopodobne - a jeśli tak, to uważam, że problematyczny plik zachował pomoc przy debugowaniu problemu. Jasne,/tmp
jest automatycznie czyszczony. Jest$HOME
to jednak korzystne dla poufnych dokumentów, gdy jest szyfrowane, ale/tmp
nie jest.mktemp -p $HOME/.cache/mutt-XXXXXXXXXX
w tym przypadku, alemktemp
jest to właściwe narzędzie.Możesz także rozważyć użycie paps , który odczytuje plik zakodowany w UTF-8 i generuje renderowanie pliku w języku PostScript. Renderowanie odbywa się poprzez tworzenie krzywych konturu poprzez backend pango ft2.
źródło
Bardziej bezpieczne i zużywające mniej papieru, utwórz
wrapper
:Istnieje moje polecenie drukowania dla
.muttrc
:I jest treść
"$HOME/bin/print_preview-wrapper.sh"
To będzie
gv
bo mi się podoba, ale możesz uruchomić dowolne inne narzędzie.źródło
read tmpdir < <(mktemp -d /tmp/print_preview-$USER-XXXXXXXX)
ma przewagętmpdir=$(mktemp -d /tmp/print_preview-$USER-XXXXXXXX)
?read host foo foo ip < <(host google.com); echo $ip $host
Oto prosty przepis, którego używam w różnych systemach UNIX:
gdzie
••My_printer••
jest nazwa drukarki.źródło