歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> 關於Unix >> UNIX下打印問題匯總

UNIX下打印問題匯總

日期:2017/2/28 11:11:40   编辑:關於Unix


1、Q:在UNIX下什麼樣的打印機較易配置?
A:對於管理員來說,打印機設置是一個必須面對的比較復雜的問題。在UNIX下的打印包括了配置一個或多個配置文件 ,特別是如果需要打印比普通文件更復雜的東東,可能需要安裝多個過濾器。最好是有一台能夠支持postscript的打印機!如果不支持的話也可以使用,這就需要配置了!在下面的問題中你會慢慢地發現配置這些東東實乃小菜一碟!
2、Q:在UNIX中,打印的緩沖目錄在什麼地方?
A:通常UNIX下的打印緩沖目錄位於/var/spool.系統中第一台打印機一般放在/var/spool/lpd 或者/var/spool/output/lpd中。
3、Q:打印機一切正常但是無法與主機進行通信怎麼辦?
A:可以用這台打印機到其它的機器上試一下,如果在其它機器上能用的話這可能有兩種情況出現問題:
1、系統內核對並行設備不支持,一般情況下都是支持的,可以通過如下命令進行查看內核是否支持並行設備:
dmesg |grep lpt0 {lpt1}
lpt0: on ppbus0
lpt0: interrupt-driven port
這說明你的並行口是沒有問題的!
4、Q:為什麼我不能使用lptcontrol程序來配置並行端口?
A:1、檢查是否是root身份!
2、當前打印機是否連接在並行端口上?只有連接在端口上才能正常配置。
5、Q:如何創建後台打印目錄?
A:1、先給打印機創建一個後台目錄
mkdir /var/spool/lpd/hp1000(自己隨便起)
2、更改權限。
chown daemon:daemon /var/spool/lpd/hp1000 (所有後台打印的所有者都是daemon 切記!)
chmod 770 /var/spool/lpd/hp1000
B:添加過濾器
手工編一個最簡單的lpd文本過濾器:
#!/bin/sh
/bin/cat && exit 0
exit 2
把它存在/usr/local/libexec/下,起個名就叫text吧!
chmod 755 /usr/local/libexec/text
執行text即可實現!
6、Q:打印時的基本命令有哪些?:
A:打印一個文件:
lpr filename (這是用lpr命令向後台打印發送一個文件進行打印。還有很多的參數,請用幫助查看。
顯示打印機任務狀態。
lpq -p hp1000
lpq -l 列表顯示隊列中的每個文件的相關信息。
lpq -a 顯示所有打印機的所有本地隊列的狀態。
從隊列中刪除作業
lprm 刪除隊列中當前的打印任務,亦可以刪除當前正在打印的任務。
查看隊列狀態
status lp
禁止打印和停止守護進程
abort lp 禁止打印
stop lp 停止打印
disable lp 禁止打印
status all 查看所有
enable lp 重新啟用一個被禁止的打印隊列
restart lp 重新啟動後台守護進程。
clear lp 清除打印隊列目錄。
topq printname jobnums 改變打印任務的優先級。
lpc> quit (or exit)即可退出程序。
7、Q、為什麼打印機不能接收數據,作業停在隊列中?
A:檢查lpd,看後台守護進程是否正在運行,
如果提示:waring :no daemon present,
使用lpc來重新啟動後台守護進程。也可以檢查lpc來確定打印機是否被禁用了!
8、Q:打印機數據燈閃爍!但是仍不能打印!為什麼?
A:發送了非postscript數據到postscript打印機上了,檢查過濾器以確保過濾器能夠正確過濾文本並能夠把文本轉換為postscript如果轉換請看上面的問題!
9、Q:打印機打的太慢了為什麼? A:如果你的打印機是連在並口上,將打印機設置為選舉模式!
lptcontrol -p
並把這句話加入到啟動文件之中。下次就不會出現啦!
10、Q:為什麼我的打印機在WIN下打印正常,在UNIX下打印呈現階梯形狀呢?不能正常地打印!
A:這是因為WIN/UNIX對換行符號(LF)的解釋不同造成的!解決方法是首先看打印機是否有可以改變解釋換行符方法的 選項?如果有按照說明書進行操作解決,如果不能創建一個過濾器將LF 轉換為CR和LF的組合,
如果你的機器能夠識別HP-PCL的話進行如下操作
vi lf
printf "\033&k2G" && cat && printf "033&10H" && exit 0
exit 2
保存在/usr/local/libexec/下,
chmod 755 /usr/local/libexec/lf
執行lf即可。
如果不能則用tr命令進行操作
/bin/cat |tr '\13' '\13\10' && exit 0
exit 2
執行即可。如果還不能解決,請在CHINAUNIX.NET 上面發貼讓高手共同來解決!
11、Q:如何配置/etc/printcap?
A:printcap是一個類似批處理的一個文件,有四行。
這是一個例子:
hp1000|lp|local printer:\
#:sh:\
:lp=/dev/lpt0:sd=/var/spool/lpd/hp1000:lf=/var/log/lpd-errs:
:if=/usr/libexec/lf-ps
第一行:是指定的打印機名字hp1000,同時還有一個別名lp再後面是描述語名,意為本地打印機。
第二行:現已被注釋掉,可以去掉注釋,將打印包括的用戶姓名、文件名稱等內容的頁頭等。
第三行:是與打印機存放位置的相關一些信息。第一段:lp表示“本地打印機”(是local printer的意思)第二段表示打印機連接在第一個並行口lpt0,:sd表示打印機使用的後台目錄,:lf表示“日志文件” 也就是存放錯誤記錄 的地方。
第四行:是指打印機使用的輸入過濾器或文件過濾器,例中就是lf-ps。
12、Q:配置完printcap文件之後,為什麼還是不能實現?
A:配置完之後需要啟動lpd命令!
lpd_enable="YES"
重新啟動。
Copyright © Linux教程網 All Rights Reserved