Saya tahu bahwa saya dapat mengonfigurasi perintah cetak di Mutt via .muttrc
, mis:
set print=ask-yes
set print_command="..."
Tapi perintah cetak apa yang harus saya gunakan untuk mencetak cantik ?
Yah, a2ps
output tampaknya agak sederhana, bahkan dengan -=mail
cara pintas. Itu tidak mendukung UTF8 . Ada paps
yang digambarkan sebagai ' UTF-8 ke PostScript converter menggunakan Pango ' dan saat ini tidak termasuk dukungan untuk margin, atau tata letak Email atau sesuatu seperti itu.
mp
: tajuk default yang bagus. Sekali lagi tidak ada dukungan UTF8. Margin default sangat kecil - jika Anda menentukan margin yang lebih luas, teks isi dicetak di belakang footer.
enscript
: -G
untuk header halaman yang mewah memang mewah. Tidak ada dukungan UTF8 .
Apa yang Anda gunakan di abad ke-21 untuk mencetak surat-surat Anda dari Mutt?
(Ini harus mendukung UTF8, keluaran DIN A4 sebagai PS dan / atau PDF)
print_command
. Dengan demikian, tidak cukup untuk menguji print_commands melalui perintah|
(pipa) di mutt.Jawaban:
Ada juga Muttprint . Ini tidak mendukung UTF-8 dan output terlihat layak secara default. Muttprint menggunakan LaTeX dan menyediakan kait untuk penyesuaian.
Karena saya mencetak surat dari lingkungan yang berbeda, saya tidak dapat menggunakan printer standar. Jadi saya telah mengaturnya (via
~/.muttrc
) untuk menggunakan penampil PDF di mana saya dapat memilih printer secara dinamis:Penggunaan Mktemp
/tmp
, secara default. Untuk menggunakan direktori cache khusus:Btw, Anda dapat mengatur
print_decode
di dalam muttrc untuk mengkonfigurasi jika perintah print_command mampu mendekode MIME, meng-encode dll dengan sendirinya. Secara default diatur keyes
pengaturan yang tepat untuk perintah sepertimuttprint
,enscript
dll.Mengenai isu-isu UTF-8 dari a2ps, enscript dan mp satu dapat saja menyimpulkan bahwa mereka harus dianggap usang. Memang, melihat halaman proyek yang tampaknya tidak dipertahankan (misalnya item berita terakhir dari halaman mp adalah dari tahun 2002 dan menyebutkan milis yang berlokasi di Sun).
sumber
/tmp/$USER.ps
sangat dapat diprediksi oleh pengguna lain. Gunakanmktemp
buat file sementara! (Lihat jawaban saya )./tmp/$USER.ps
itu konyol. Saya telah memperbarui jawaban saya./tmp/*
dihapus saat reboot.mktemp
raison d'être adalah untuk menghindari tabrakan nama file. Mungkin gagal karena alasan lain. Saya telah mengubah perintah sedemikian rupa sehingga muttprint hanya dieksekusi jika mktemp berhasil (saya menduga muttprint akan default ke beberapa nama file lain ketikaf
kosong). Dengan demikian, sekarang Anda hanya berakhir dengan file temp sisa jika ada atau gagal. Saya menganggap ini tidak mungkin - dan jika mereka melakukannya saya menganggap memiliki file yang bermasalah tetap membantu untuk debugging masalah. Tentu,/tmp
secara otomatis dibersihkan. Tetapi$HOME
menguntungkan untuk dokumen sensitif ketika dienkripsi tetapi/tmp
tidak.mktemp -p $HOME/.cache/mutt-XXXXXXXXXX
dalam kasus ini, tetapimktemp
merupakan alat yang benar.Anda mungkin juga mempertimbangkan untuk menggunakan paps , yang membaca file yang dikodekan UTF-8 dan menghasilkan rendering bahasa PostScript dari file tersebut. Render dilakukan dengan membuat kurva garis besar melalui backend pango ft2.
sumber
Lebih aman dan menggunakan lebih sedikit kertas, buat
wrapper
:Ada perintah cetak saya untuk
.muttrc
:Dan ada konten
"$HOME/bin/print_preview-wrapper.sh"
Ini akan
gv
karena saya suka, tetapi Anda bisa menjalankan alat lain.sumber
read tmpdir < <(mktemp -d /tmp/print_preview-$USER-XXXXXXXX)
keunggulan dibandingkantmpdir=$(mktemp -d /tmp/print_preview-$USER-XXXXXXXX)
?read host foo foo ip < <(host google.com); echo $ip $host
Berikut ini adalah resep sederhana yang saya gunakan pada UNIX yang berbeda:
dimana
••My_printer••
nama printernya.sumber