Komut satırından yazdır


28

Komut satırı çıktısını doğrudan yazıcıya nasıl yazdırabilirim?

Ubuntu server 12.04 kullanıyorum ve dosyaları paylaşılan bir dizine kopyalamalı ve sonra bunları yazdırmak için bir masaüstü ubuntu dağıtımından indirmem gerekiyor.

Herhangi bir yardım takdir edilmektedir


Düz metin veya PDF yazdırıp yazdırmayacağınızı söylemediniz. Bazı sistemler yalnızca kutudan çıkan düz metinleri destekler, bu nedenle ele alınması gerekir.
alexis

Neden cevabımı düşürdüğünü bilmiyorum, sadece dene.
nux

@nux +1 Tüm cevaplar hepinize teşekkürler, teşekkürler
kamil

@alexis Netim: Konsol çıktısını yazdırmak istiyorum. Örneğin, doğrudan yazıcıya çıktı
kamil

Üzgünüz, gerçekten söylediniz ve ben özledim, üzgünüm!
alexis

Yanıtlar:


35

Temel olarak iki varsayılan komut vardır:

lpr ve lp

man lpr çıktı verir:

lpr, yazdırılacak dosyaları gönderir. Komut satırında adlandırılmış dosyalar, adlandırılmış yazıcıya gönderilir (veya hedef belirtilmemişse varsayılan hedef). Komut satırında hiçbir dosya listelenmemişse, lpr yazdırma dosyasını standart girişten okur.

man lp çıktı verir:

lp, yazdırmak için dosyaları gönderir veya bekleyen bir işi değiştirir. Standart girdiden yazdırmayı zorlamak için "-" bir dosya adı kullanın.

çok kolay komutunu kullanın:

lp /path-to-file-to-print

Veya

lpr /path-to-file-to-print

15

Kullanabilirsiniz lp

Örneğin:

man firefox | lp -d printername

Bu, man sayfasını firefox'tan belirtilen yazıcıya yazdırır


1
Teşekkürler, o fit-to-pagesayfadaki metni biraz daha iyi tutmak için de kullanmam gerekiyordu . man bash | lp -o media=letter -o portrait -o fit-to-page -, -Uç sağlar standart giriş okunur.
Elijah Lynn

1
Yazıcınız varsayılan ise, -dparametreye ihtiyacınız yoktur . Unity ile Ubuntu'da, varsayılan yazıcı Arama düğmesine tıklayarak ayarlanır ve sonra "yazdır" yazın ve varsayılanın ayarlanabileceği doğru yere götürür. Ayrıca, lpörnekte bir süredir Unix'te bulunduğunuzu söylüyor. lprUbuntu'da da aynı şekilde çalışıyor.
SDsolar

4

Eğer kurulu ise, bilmeye değer başka bir seçenek çifti

ve

Bunlar, başlıklı numaralandırılmış sayfalar ve isteğe bağlı satır numaralarını sağlamak için kullanışlıdır. Daha sonra kitapçık stili yazdırmak için de kullanabilirsiniz (örneğin, sayfanın her iki tarafında iki sayfa).

Bunları Postscript özellikli yazıcılarda kullanıyorum ancak Ubuntu'nun baskı sisteminin, desteklenen herhangi bir yazıcı için PS'yi rasterleştirebileceğine inanıyorum.


Bu güzel bir fikir
kamil

Tabii kodlama postscript doğrudan atıyor.
SDsolar

3

Önce yazıcının nasıl erişildiğini öğrenmek isteyebilirsiniz - lpstatbu bilgileri size verecektir. Çıktısını her iki sistemde karşılaştırırsanız, muhtemelen söz konusu yazıcının her ikisinde de yapılandırılmış olup olmadığını söyleyebilirsiniz. lpstat -p -dTüm yazıcıları durumlarıyla listeler ve hangisinin varsayılan yazıcı olarak ayarlandığını söyler.

Çıktınızı sadece lpor lprkomutuna ya da komutuna aktarabilirsiniz . Olsa da güzel baskı veya sayfalama için bir filtre eklemek isteyebilirsiniz. "Düz metin verilerini vurgulama ve biçimlendirme" debian kılavuzunda araçların iyi bir özeti var , ancak genellikle sedher şeyi göndermeden önce istemleri ve diğer şeyleri vurgulamak için kullanıyoruma2ps


2

Kullanımdaki bir .txt dosyasını yazdırmak için:

command | lpr -P printername -p ( periority from 1 to 100 )

Örnek :

ls -l | lpr -P printername -p 1 

1

Soru bir sunucudaki komut satırından nasıl yazdırılacağıyla ilgilidir ve bu sistemde tanımlanmış herhangi bir yazıcıya sahip olmadığınız anlaşılıyor. Kontrol etmek için bir sistemim yok, bu yüzden aşağıdakiler yaklaşıktır, ancak size genel bir fikir vermelidir:

  1. CUPS sisteminin kurulu ve çalıştığından emin olun. Yazdırma işlerinizi halledecek olan zemini sağlar.
  2. Bu işlem tamamlandıktan sonra, yazdırmak için bir veya daha fazla ağ yazıcısı kurmanız gerekir. Yazıcıları yüklemenin genel yolu Yazıcı Yöneticisi yardımcı programındadır, ancak sunucunuzdan herhangi bir GUI programı çalıştırmak için ayarlanmamışsınız - ssh ile komut satırı erişimi. Aynı ağda zaten bir Ubuntu masaüstü sistemi bulunduğundan, dizinin içeriğini /etc/cupsmasaüstü kutusundan sunucuya kopyalamayı denerim . İhtiyacınız olan tüm yazıcı tanımlarını ve sürücüleri içermelidir. Gerekli ayarlamalar için dosyaları kontrol edin (kurulumunuz iki sistem arasında farklılık gösteren kullanıcı kimlikleri veya şifrelerden bahsederse), yeniden başlatın cupsdve eğer şanslıysanız lprkomut satırından yazdırabileceksiniz.

PS. Bir tutam, Print Admin GUI yardımcı programını çalıştırmak için masaüstünüzdeki Ubuntu kutunuza (X ile giriş yapın ssh -X) uzak bir X bağlantısı üzerinden yeterli sayıda X yardımcı programı yükleyebilir ve ihtiyacınız olan yazıcıları tanımlayabilirsiniz. Ama umarım bu gerekli olmayacak.


1

lpKomutu kullanabilirsiniz .

Bir komutun çıktısını varsayılan yazıcıya yazdırmak için (varsayılan yazıcının lpstat -dne olduğunu görmek için kullanın ):

echo "test" | lp

Belirli bir yazıcıya yazdırmak için ( lpstat -p | awk '{print $2}'mevcut yazıcı adlarını listelemek için kullanın ):

echo "test" | lp -d printername

Komut çıktısı yerine bir dosyayı yazdırmak için:

lp /path/to/file
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.