Linux下掃描儀的設置和使用比較麻煩,其實當前的許多問題是由於內核和SCSI驅動程序的一些缺陷造成的,如果使用較新的內核版本,只要經過簡單的打補和重編譯就可以讓你的掃描儀在Linux下掃出一片斑斓色彩啦!
我使用的是中文Linux中最新的發布藍點2.0和用戶常用的Microtek Scanmaker X6掃描儀。使用其他linux發布或其他品牌的用戶也可以通過類似的方法下載相關品牌的補丁和驅動程序。
第一步:下載相關文件。
首先,從最根本的開始——內核的SCSI驅動的源代碼補丁。
藍點使用的內核版本是2.2.16,只要以下網站的對應linux內核版本的補丁能支持就行了。當你在/usr/src目錄裡安裝了內核源代碼後,你可以從以下網站取得這個補丁Linux 2.2.15pre14-ppscsi1,如果你可以取得2.2.16的補丁就最好啦:http://people.redhat.com/twaugh/parport
接著是Linux系統必不可少的掃描儀驅動程序接口——SANE。你可以到http://www.mostang.com/sane下載最新的版本。我建議你不要拿RPM包而是下載源代碼。因為我們要手工完成某些設置。
最後就是下載Microtek Scanmaker X6 驅動程序。在FTP://ftp.mUC.de/people/bernds/mtek2可以找到microtek2後台控制程序的最新版本。
第二步:對內核打補丁。
為以防萬一,在對內核打補丁前應該對內核進行備份,或者出現問題後從安裝光盤裡重新安裝內核源代碼軟件包(光盤中/BluePoint/RPMS/kernel-source-2.2.16-1.i386.rpm)。
當你下載了內核補丁後,以root身份進入系統,把補丁放到/usr/src,即依次執行命令:
1、 mv ppSCSI*.patch /usr/src <回車>
2、 patch -p0 < ppSCSI*.patch <回車>
此時,內核已經被打好補丁了,到了設置和編譯的步驟。
3、 進入源代碼目錄(/usr/src/linux):cd /usr/src/linux <回車>
4、 調用make源代碼編譯控制程序:make menuconfig <回車>
5、 在控制程序裡“SCSI support”選項下(圖1),選擇“SCSI support”,對“SCSI support”和“Generic SCSI support”兩項,按下y把SCSI支持內嵌到源代碼裡(顯示出“*”號)或者按下M把SCSI支持編譯為模塊(顯示出“M”號,使用該模塊時必須動態加載)。我推薦選用內嵌到源代碼裡,這樣使用掃描儀會比較方便。但如果編譯後但它們不能工作……也許是它們必須建立為動態模塊進行裝載,那麼你就要重新進行設置和編譯。(圖2)
6、 在控制程序裡“SCSI support”選項下,進入“SCSI low level drivers”選項目錄,選擇“parallel port SCSI adapter”(並行SCSI適配器)和“Onspec 90c26 adapter”(Onspec 90c26適配器)。
7、 完成設置後,編譯內核,編譯和安裝這些模塊(用make modules和make modules_install命令)。修改你的啟動文件並重啟機器。這裡我不細述如何安裝和編譯內核源代碼,眾多的linux入門書籍已經對此詳細說明了。如果你以前沒有編譯過內核,務必查看一下相關的書籍或HOWTO文檔。
第三步:編譯和安裝SANE和Microtek驅動程序
我取得的SANE是sane-1.0.2.tar.gz,Microtek驅動程序是microtek2-0.8.tar.gz。
當你取得了這兩個文件後,就以root帳號進入系統,首先把SANE解包:tar -xvzf sane-1.0.1.tar.gz <回車>。然後把microtek2後台控制程序解包:tar -xvzf microtek2-0.8.tar.gz<回車>。
解包後你會看到兩個新文件:microtek2.c和microtek2.h。把它們復制到SANE源代碼的backend目錄裡,系統會告訴你文件已經存在,回答y強制覆蓋舊文件。接著進入SANE的源代碼目錄並編譯它:
cd sane-1.0.1 <回車> ./configure <回車> make <回車> make install <回車>
第四步:重啟並加載驅動模塊。
現在你已經成功在望了!在你重啟機器之前,你必須先打開你的掃描儀的電源。因為SCSI驅動程序只在啟動的時候檢查第2並行口,如果掃描儀未通電,系統會報告找不到SANE設備。在你重啟後,你還必須把你所編譯的模塊加載到內核裡。
如果你的linux系統是藍點2.0,要安裝一個動態模塊非常容易。實際上,你可以只安裝最必要的模塊,在運行時其他依賴模塊被調用的時候會被自動的裝入。先以root帳號登錄系統,然後根據情況加載驅動模塊:
如果在第二步中SCSI驅動被編譯到內核裡:insmod onscsi <回車>;
如果在第二步中SCSI驅動被編譯為動態模塊,你必須在使用insmod scsi_mod(scsi_mod即任何SCSI設備驅動模塊)把它加載進來。要執行的命令是:insmod ppscsi <回車> ,然後才是insmod onscsi <回車>。
此時你就可以開始使用你的掃描儀了。但是這樣你必須在每次啟動後,都執行這些命令才能使用掃描儀。其實如果你想一勞永逸,只要把這兩行命令加到在系統啟動文件/etc/rc.d/rc.local的最後就行了(必須是root帳號才有權修改):
insmod ppscsi insmod onscsi
第五步:設置掃描儀設備
進入你的SANE的源代碼的tools目錄,裡面有一個名為find-scanner的命令,運行它:./find-scanner -v。 它會找到你的掃描儀並告訴你它的設備位置(也許你必須使用Shift+PageUp把屏幕往上翻頁才能看到這些信息)。它的位置通常是/dev/sg0或/dev/sga,有時候會同時出現兩者。
接著鍵入命令指明掃描儀設備:ln -s /dev/sg0 /dev/scanner <回車>。如果讓使所有的帳號都可以使用掃描儀,鍵入命令:chmod 666 /dev/sga <回車>(這裡的dev/sg0都是指掃描儀設備的位置)
開始享受掃描樂趣!
現在,隨時可以打入scanimage或者xscanimage享受掃描樂趣了!
另外我還推薦使用Xsane,它類似於xscanimage,不僅界面更漂亮,而且它可以作為Gimp的plugin程序,方法是各帳號的Gimp程序的plugin目錄下做一個Xsane的鏈接就行了:ln usr/bin/xsane ~/.gimp/plug-ins/xsane -s <回車> 。這裡的~表示當前用戶帳號的家目錄。
如果系統報告說找不到usr/bin/xsane文件,可能是你還沒有安裝它或者它被存放在其他目錄下。你可以用命令which xsane <回車>查看它的存放位置。
這個掃描儀盡管不能在Gimp下進行圖像預覽(但單獨運行時是可以的),但工作得非常出色。它還可以和StarOffice協作得非常好,只要在StarOffice下選擇Acquire Image,你的掃描儀工具就跳出來了!
接著鍵入命令指明掃描儀設備:ln -s /dev/sg0 /dev/scanner <回車>。如果讓使所有的帳號都可以使用掃描儀,鍵入命令:chmod 666 /dev/sga <回車>(這裡的dev/sg0都是指掃描儀設備的位置)
開始享受掃描樂趣!
現在,隨時可以打入scanimage或者xscanimage享受掃描樂趣了!
另外我還推薦使用Xsane,它類似於xscanimage,不僅界面更漂亮,而且它可以作為Gimp的plugin程序,方法是各帳號的Gimp程序的plugin目錄下做一個Xsane的鏈接就行了:ln usr/bin/xsane ~/.gimp/plug-ins/xsane -s <回車> 。這裡的~表示當前用戶帳號的家目錄。
如果系統報告說找不到usr/bin/xsane文件,可能是你還沒有安裝它或者它被存放在其他目錄下。你可以用命令which xsane <回車>查看它的存放位置。
這個掃描儀盡管不能在Gimp下進行圖像預覽(但單獨運行時是可以的),但工作得非常出色。它還可以和StarOffice協作得非常好,只要在StarOffice下選擇Acquire Image,你的掃描儀工具就跳出來了!