Debian列印介紹

2021-06-15 20:54:57 字數 4130 閱讀 9170

列印對於linux/unix類系統來說,曾經沒有一點問題,但那是很久以前的事情了。隨著各種新型印表機的出現,特別是很多不支援postscript 功能的廉價印表機,曾一度使在linux上的列印變得非常困難。但現在,情況已經完全不同了,在linux上列印已經越來越方便,用linux作為列印伺服器,已經成為很多大小企業的選擇。

在具體講述如何安裝印表機之前,先來看一下對於列印的一些比較關鍵的問題。

* 印表機的命令方式:從總體上來看,列印的命令方式可以分成文字、postscript和其它種類。所謂文字,就是那些比較古老的針式印表機,我們可以直接 cat text_file > /dev/lp0,這種印表機現在已經很少使用了,在linux上使用這類印表機是一點問題都沒有的。相信postscript這個詞大家都是聽說過的, ps實際上是一種專門用語列印方面的指令碼語言;能夠直接支援postscript的印表機,通常都是非常高階的辦公用印表機;ps語言是計算機和這類印表機之間溝通的方式。再有就是現在我們經常用到的各種比較低檔的印表機,噴墨的或者雷射的都有;它們不支援postscript,通常都是使用廠家自己的命令集。

* 應用程式的列印支援:linux上的各種應用程式,都是通過輸出postscript來描述需要列印的頁面的,而在將來,這種趨勢不會發生任何變化。

* ghostscript:對於支援postscript的印表機而言,要支援linux是比較容易的,但對於那些並不支援postscript的印表機而言,就必須要能夠把 postscript格式的頁面描述,轉換成為這些印表機能夠識別的列印命令。而ghostscript就是用來完成這個工作的,它能夠解析 postscript命令,並用相應的驅動來顯示它們。譬如ghostscript可以把乙個ps檔案顯示在螢幕上,也可以借助印表機廠商的驅動將ps檔案轉換成列印命令。

* ppd:ppd是用來描述印表機功能的檔案,要使用一款印表機之前,必須找到其ppd檔案,並正確地安裝到列印管理器程式上。

* 列印管理程式:作為乙個多使用者多工的作業系統,linux上的所有程式都是基於多工、多使用者而設計的,列印也不例外。為了讓不同的使用者、不同的任務在列印的時候不會產生衝突,就需要乙個列印管理程式。這類管理程式很多,從傳統的lpd,到時下非常流行的cups。它們功能各異,但有一點不變的就是都是用來協調列印任務的。cups的工作方式如下:通過命令列接收要列印的檔案;通過檔案的型別判斷是否需要將其轉換為postscript,如果需要,則呼叫相應的應用程式進行轉換;通過ppd檔案來判斷ghostscript應使用何種驅動處理此postscript檔案;把ghostscript處理的結果輸出到列印裝置上。

* 把一切整合在一起:由於列印領域長時間的混亂,誕生了各種列印管理程式,而要學會為每乙個列印管理程式安裝驅動,是一件痛苦的事情(僅僅學習cups卻是非常愉快的)。於是就出現了 foomatic,它的作用是通過一種方式管理所有的印表機,把ppd和列印管理程式的配置遮蔽掉,給使用者乙個統一的介面。

綜上所屬,要在linux上使用一台印表機,首先必須確定它被支援,然後需要選擇乙個列印管理程式並配置好列印驅動。最後,能否產生正確漂亮的列印結果,則要看應用程式能否生成正確的postscript檔案。過去,有很多程式不能正確的列印中文,主要就是因為它們不能正確的處理中文的字符集或者中文字型。下面,我會介紹在debian上安裝配置cups並進行列印的過程,並不包括foomatic。

用cups列印

common unix printing system(cups)是乙個出現的比較晚的列印管理程式,也正是如此,它的功能很現代,介面也非常友好。出現的晚,並不代表功能少和支援不廣泛,cups擁有豐富的功能,支援各種各樣的印表機,且被各種應用程式廣泛地支援。

安裝列印管理器

debian 上的cups被分散在幾個軟體包中,包括庫、伺服器、客戶端等等。連線了印表機的機器需要安裝伺服器,而要提交列印任務的機器,則必須安裝客戶端。伺服器的包是cupsys,客戶端的包是cupsys-client和cupsys-bsd,前者是cups自己的客戶端,後者是用來替換bsd的lpr命令的,這樣可以讓一些比較古老的應用程式繼續通過lpr命令進行列印。

通過apt-get命令分別安裝印表機和伺服器:

# apt-get install cupsys foomatic-filters

# apt-get install cupsys-client cupsys-bsd

foomatic-filters這個軟體包對於cups系統來說是非常必要的,千萬別忘了。

安裝印表機驅動程式

這裡我們所說的驅動程式,包含以下三個方面:

新增列印裝置

安裝好列印驅動之後,下一步的工作就是把已經完成的裝置新增到cups的列印裝置列表裡面。這一步可以有很多種方式,但最簡單的,就是用cups自己的 web管理介面。在安裝了cups伺服器的計算機上,訪問http://localhost:631/就可以了。當新增印表機時,使用者需要輸入賬號密碼,此時可以用root賬號,但只要使用者在lpadmin這個組中,就可以管理印表機了。

新增的第一步是選擇印表機的名稱、位置、描述等,名稱是比較重要的,以後都會用到。在選擇完製造商後,就可以看到上述ppd檔案所描述的印表機資訊了,如果你找不到,可能是忘了重新啟動cupsys服務。

使用通過web介面,可以完成全部管理印表機的操作,包括開啟、關閉印表機,取消列印作業等等。如果要列印乙個檔案,就需要借助應用程式或者是cups的客戶端了。

openoffice

openoffice有自己的列印配置程式,但如果你使用了cups,完全沒有必要再去配置什麼,openoffice可以自動識別到cups系統中新增的印表機。

mozilla firefox

pref("font.freetype2.enable", true);

pref("font.directory.truetype.1","/var/lib/defoma/x-ttcidfont-conf.d/dirs/truetype/";

在firefox的軟體包中,上述檔案並不存在,不用擔心,加上就可以了。

acrobat reader

用acrobat reader使用印表機時,在其列印對話方塊中有command選項,其預設值為/usr/bin/lpr,因此使用者必須安裝cupsys-bsd軟體包才行。如果列印時並非使用預設的印表機和選項,則需要在這裡進行自己設定。

gedit

在gnome 2.8中,其列印組建gnomeprint已經比較成熟了。如果你現在仍然使用gnome 2.8以前的版本,我建議你更新一下,這樣gedit就可以正常地列印了。

命令列cups的命令列程式有lp、lpstat和cancel,對應的bsd列印命令列工具是lpr、lpq和lprm。這些命令列程式都有很多引數,在 cups的使用者手冊中有詳細的描述,在此就不贅述了。需要說明的是,當傳遞給lp的檔案不是postscript或者pdf格式時,cups都要選擇乙個程式來將其轉換為這個格式,其列印效果也就不得而知了。因此,建議使用者首先想辦法生成乙個ps/pdf檔案,然後再列印。

gtklp

要記住lp的每乙個選項還是一件挺麻煩的事情,gtklp是乙個允許使用者在圖形介面下選擇列印選項的工具。它支援所有的cups選項,只要點點滑鼠就可以列印啦。使用者選擇完畢後,它會自動呼叫lp命令的。gtklp軟體包中還有乙個gtklpq程式,通過它,可以檢視和修改列印佇列。

共享共享印表機給linux使用者對於cups來說非常簡單,只需要修改/etc/cups/cupsd.conf檔案,允許其它使用者訪問/printer資源就可以了。我不知道windows是否支援ipp協議,如果支援,也可以用這種方式列印。

常見的問題

1. 為何xx程式不能列印中文?

如上所屬,能不能列印中文,關鍵在於負責生成postscript的程式是否能夠支援中文,很多老的命令列工具都是無法支援中文的,即便是新的軟體,也不見得能夠支援地很好。

2. 顯示時的中文粗體為何列印的時候沒有?

現在很多用xft/fontconfig的朋友都打了firefly的粗體補丁,但這個補丁僅僅是用在顯示上的。當列印時,往往是直接從字型檔中提取字形資訊,並嵌入到postscript檔案中的,字型檔裡面是什麼樣子,列印出來就是什麼樣子。

3. 我的印表機,linux支援的不是很好,怎麼辦?

我有一台mac,還有一套正版的windows,我打**給微軟客服,但它們卻告訴我如果你要使用windows,就一定要選擇跟windows相容的計算機。如果你要用linux,買硬體之前就一定要做一些簡單的調查研究,對於那些技術很差根本不懂得如何支援linux的硬體廠商的產品,就千萬不要買。上可以查到各種印表機和linux的相容情況,查一下,除了相容性之外,還能知道有些印表機為什麼會便宜,而另一些為什麼貴。

debian系統簡單介紹

配置檔案是 etc apt sources.list一些常用的apt源 debian 7.x wheezy deb wheezy main non free contrib deb wheezy proposed updates main non free contrib deb src wheez...

Linux列印介紹 轉貼

在具體講述如何安裝印表機之前,先來看一下對於列印的一些比較關鍵的問題。綜上所屬,要在linux上使用一台印表機,首先必須確定它被支援,然後需要選擇乙個列印管理程式並配置好列印驅動。最後,能否產生正確漂亮的列印結果,則要看應用程式能否生成正確的postscript檔案。過去,有很多程式不能正確的列印中...

debian目錄下常用檔案的介紹

debian官網參考資料 debian policy manual 該目錄包含了所有構建deb包需要的檔案,例如changelog control rules等 可以通過devscripts自動或者手動的方式來生成這些檔案 在 etc apt sources.list檔案或 etc apt sour...