目的: 在 Linux 建置 LPD Print Server 供 Windows / Linux 使用者列印, 並能備份列印資料(轉成 PDF 檔)、產生使用者列印記錄檔 (Log File)
操作備忘:
- 在 Fedora Core 3 建置 LPD Print Server
- 在 Windows 使用使用 Linux Shared LPD Printer
- 建立虛擬 PDF 印表機 (Using CUPS backend)
- 利用 Tea4CUPS 進行 Print Job 的備份與記錄
在 Fedora Core 3 建置 LPD Print Server
啟用 cups-lpd
vi /etc/xinetd.d/cups-lpd
disable = no
/etc/init.d/xinetd restart
修改 cupsd 設定
vi /etc/cups/cupsd.conf
### Network Options
Port 631
### Security Options
<Location />
Allow From your.lan.network/24
</Location>
<Location /admin>
Allow From your.lan.network/24
</Location>
/etc/init.d/cups restart
登入 CUPS 管理頁面新增印表機
以瀏覽器連入: http://your.linux.host.ip:631
出現密碼提示視窗時, 以 root 帳號密碼登入即可
Windows Printer via SAMBA 設定備忘:
smb://account:password@your.samba.or.windows.ip/shared_printerKonika-Minolta Magicolor 2300DL 設定備忘:
http://gentoo-wiki.com/HARDWARE_Magicolor_2300DL
在 Windows 使用使用 Linux Shared LPD Printer
新增「Print Services for Unix」元件
控制台 → 新增/移除程式 → 新增/移除 Windows 元件 →
Other Network File and Print Services → 詳細資料 → Print Services for Unix
新增印表機
印表機 → 新增印表機 → 本機印表機 (取消勾選「自動偵測並安裝...」) →
建立新的連接埠 → LPR Port →
提供 lpd 的伺服器名稱或位址: your.linux.host.ip
在該伺服器上的印表機名稱或列印佇列: your_printer_name
接著再選用該印表機的驅動程式即可
參考資料:
建立虛擬 PDF 印表機 (Using CUPS backend)
安裝 PDF backend for CUPS
cd /usr/lib/cups/backend
wget ftp://ftp.kde.org/pub/kde/printing/pdfdistiller
mv pdfdistiller pdf
chmod +x pdf
/etc/init.d/cups restart
於 CUPS 網頁管理介面新增 PDF 印表機
Name: pdfprinter
Device: PDF Writing
Device URI: pdf:/path/to/dir/
Make: Postscript
在 Windows 使用剛剛建立的 PDF 印表機
新增印表機→本機印表機→建立新的連接埠→LPR Port
提供 lpd 的伺服器名稱或位址: your.linux.host.ip
在該伺服器上的印表機名稱或列印佇列: pdfprinter
新增印表機:
製造商: HP
印表機: HP Color LaserJet PS (只要是支援 PostScript 的驅動程式就行了)
參考資料:
利用 Tea4CUPS 進行 Print Job 的備份與記錄
前置動作: 安裝 subversion 套件
yum install subversion
安裝 Tea4CUPS
svn co svn://svn.librelogiciel.com/tea4cups/trunk tea4cups
cd tea4cups
chmod root:root tea4cups
chmod 700 tea4cups
cp tea4cups /usr/lib/cups/backend
cp tea4cups.conf /etc/cups
安裝 pkpgcounter 頁數計算程序 (for log-operation)
svn co svn://svn.librelogiciel.com/pkpgcounter/trunk pkpgcounter
cd pkpgcounter
python setup.py install
於 CUPS 網頁管理介面新增 Tea4CUPS managed 印表機
在 Device 選單中, 選用 Tea4CUPS managed 開頭的印表機即可
編輯 Tea4CUPS 設定檔
vi /etc/cups/tea4cups.conf
[your_printer_name]
#列印資料前另存一份 PDF 檔
prehook_keep : ps2pdf $TEADATAFILE /path/to/keep/$TEAPRINTERNAME.$TEAJOBID-$TEACLIENTHOST.$TEAUSERNAME.pdf#寫入 Log 檔
prehook_log : echo `date +%Y/%m/%d\ %H:%M` $TEAPRINTERNAME $TEAJOBID $TEACLIENTHOST $TEAUSERNAME `pkpgcounter $TEADATAFILE` \"$TEATITLE\" >> /var/log/printaccounting.log以上設定產生之 PDF 檔名實例: your_printer_name.123-192.168.0.1.Jamyy.pdf
Log 檔內容實例: 2006/08/16 15:30 your_printer_name 123 192.168.0.1 Jamyy 1 "測試頁"
標籤説明:
[CUPS Printer Name (queue name)] 可針對不同的 Printer 進行 filter、prehooks、posthooks 設定
filter : 從 stdin 讀入 PostScript 進行處理
prehooks : 資料送交印表機前
posthooks : 資料送交印表機後
環境變數實例:
以下是在 Windows 2000 (Windows 登入帳號: Jamyy)
列印測試頁時, prehooks 階段的 Tea4CUPS 變數內容TEAPRINTERNAME=myprinter TEADIRECTORY =/var/spool/cups/ TEADATAFILE =/var/spool/cups/tea4cups-myprinter-Jamyy-170 TEAJOBSIZE =105311 TEAMD5SUM =9f890aee9705d380a9e41cd8fed2149f TEACLIENTHOST =192.168.0.1 TEAJOBID =170 TEAUSERNAME =Jamyy TEATITLE =測試頁 TEACOPIES =1 TEAOPTIONS =document-name=測試頁 TEAINPUTFILE =/var/spool/cups/d00170-001 TEABILLING = TEACONTROLFILE=NotUsedAnymore TEASTATUS =
參考資料: