FreeBSD 下使用印表機 與 分享

| 七月 09, 2007 | 沒有迴響| 沒有引用| 1793 reads | Size: L, M, S | Edit: P, C, R |
| Category: Unix-like. and Tags: , , . |

    今天花了一個下午在弄這個,還滿累的。比起來,Ubuntu 下方便很多,不過就真的都是些小細節。

    記錄一下安裝、設定、分享的方法。

    1. 核心 

    首先確認 Kernel 中有沒有把相關的 Device 關閉了,如果是 USB 的印表機,需要有:

    device          ulpt            # Printer

    如果是其他介面的,應該要保留:

    device          lpt            # Printer 

    據說 6.x 之後就可以同時開啟,這個不太確定,我是只有開啟 ulpt。

    如果當初關掉了,那記得重新編譯一下核心。 

     

    2. 插上印表機

    在確認核心沒有問題後,就可以接上印表機,然後:

    # dmesg | grep lpt 

    來看看有沒有抓到。

     

    3. 安裝相關軟體

    如果你用的也是 HP 的印表機,可以用:

    # cd /usr/ports/print/hpijs/ ; make install clean

    他會幫你把相關的東西裝好。其他廠牌的,可以用:

    # cd /usr/ports/print/cups/ ; make install clean

    這樣就會幫你安裝完成了。 

     

    接著要設定 cups,很重要!首先,建立一個「/etc/devfs.rules」:

    [system=10]
    add path 'unlpt*' mode 0660 group cups
    add path 'ulpt*' mode 0660 group cups
    add path 'lpt*' mode 0660 group cups

    然後在「/etc/rc.conf」中加上:

    devfs_system_ruleset="system"

    這樣開機就會自動讀取了。

     

    然後編輯「/usr/local/etc/cups/cupsd.conf」檔案,找到:

    Listen localhost:631

    改為:

    Listen 0.0.0.0:631

    然後在「<Location />....</Location>」區段中,加上允許使用印表機的 IP,例如:

    Allow 12.34.56.78
    Allow 12.34.56.0/24 

    以及在「<Location /admin>....</Location>」區段中,加上要用來連線管理的 IP,例如:

    Allow 12.34.56.78  

    接著,編輯「mime.convs」和「mime.types」 檔案,找到最下方各有個「application/octet-stream」開頭的字串,拿掉注解。

     

    好了後,在「/etc/rc.conf」中加上:

    cupsd_enable = "YES" 

    接著把上面設定的兩個東西開啟:

    # /usr/local/etc/rc.d/cupsd resrtart ; /etc/rc.d/devfs restart

    還有,要把 lp* 的指令,換成我們安裝的:

    # mv /usr/bin/lp /usr/bin/lp.bak
    # mv /usr/bin/lpq /usr/bin/lpq.bak
    # mv /usr/bin/lpr /usr/bin/lpr.bak
    # mv /usr/bin/lprm /usr/bin/lprm.bak
    # ln -s /usr/local/bin/lp /usr/bin/lp
    # ln -s /usr/local/bin/lpq /usr/bin/lpq
    # ln -s /usr/local/bin/lpr /usr/bin/lpr
    # ln -s /usr/local/bin/lprm /usr/bin/lprm

     

    4. 設定印表機

    接著,我們可以用 cups 提供的網頁介面來設定印表機,連線到「 http://Your-URL:631/」去。帳號是 root,密碼是系統的 root 密碼。然後按照步驟去做就可以了。

    完成後,點選列印測試頁看看。

     

    5. 分享印表機

    前面如果有設定好 cups 的存取ip,這邊其實就可以直接用了。

    建立網路印表機,位址是「http://Your-URL:631/printers/Your-Printer-Name」。

     

    6. 透過 Samba 分享

    如果要使用 samba 來分享,前面的 cupsd.conf 就可以不用設定允許的 IP位址。

    若本來沒有裝,那當然得先裝一下:

    # cd /usr/ports/samba3 ; make install clean

    然後設定一下,讓開機會自動啟動。編輯「/etc/rc.conf」:

    samba_enable = "YES" 

    安裝完畢後,可以用例如 SWAP 等等的方便工具來設定。

     

    開啟 SWAP,編輯「/etc/inetd.conf」,找到:

    swat    stream  tcp     nowait/400      root    /usr/local/sbin/swat    swat

    把注解拿掉,然後讓 inetd 重開:

    # killall -HUP inetd

    接著就可以用「http://Your-URL:901/」連進去做設定。

     

    這樣應該就沒完工了。浩大工程。



Leave A Comment: