印表機驅動
我剛好手邊有一臺遠古的EPSON LQ-695C的24針點陣式印表機,沒有Linux的原生驅動,我就來簡單記錄一下我這兩天做過的嘗試,搞不好亂槍打鳥總會幫到。
我先是依照ChatGPT的做法,嘗試修改CUPS提供的.ppd驅動。我發現內建的EPSON的24針通用驅動可以正常列印,字體是清楚的,但是有一個問題,就是列印的寬度不對。舉例來說,我的要列印的文字範圍是0~10單位,但是印出來卻是只有0~8單位,後面2單位的內容會直接被裁掉。因此我依照指示,修改/etc/cups/ppd/LQ-695C.ppd(這個路徑和檔案是系統選定驅動後才生成的)的內容,將原本的*ImageableArea A4/A4: "18 18 577 824"換成*ImageableArea A4/A4: "3 3 592 839"。
這裡容許我科普一下,點陣式印表機的1點陣對應大概是\(\frac{1}{72}\)英寸,倘若依照原始的資料來看,A4的寬度是577*824個點陣(若扣掉保留的8點陣,那就是(577-8)*(824-8)個點陣),因此我們可以試著修改看看,看能不能讓印表機列印比較寬的範圍。最後實測是沒有生效,最右邊的文字都會被削掉。
另外,我也修改過HWMargins,將原本的「*HWMargins: 18 18 18 18」修改為「*HWMargins: 3 3 3 3」。這個參數是修改頁面四面八方要留多少個pt(點陣),修改後一樣無效。
後來我換跟Gemini討教,Gemini提供了一種解法,就是我們直接使用別的印表機擴充倉庫。(我的系統是Debian Testing/forky、Linux 7.1.7+deb14-amd64)
- 先更新套件庫
$ sudo apt update - 安裝foomatic-db-engine、cups-filters、printer-driver-gutenprint。一般來說,Debian會內建CUPS的驅動(.ppd),我們可以安裝上述的套件,以獲取更多型號的印表機的.ppd文件。
$ sudo apt install foomatic-db-engine cups-filters printer-driver-gutenprint - 我是使用GNOME桌面環境,去GNOME設定,解鎖印表機設定,這需要你的使用者密碼
- 打開printer details
- 點擊「select from database」,選擇你對應型號的印表機即可
只不過很殘念,有LQ系列,但就是沒有LQ600系列,試了別的LQ系列,還是一樣,列印效果不佳(問題還是沒有得到解決)。
印表機與父子爭論
我爸經歷過Linux的早期年代,喜歡的是學校機房的UNIX,但現在老了更加偏好留在Windows,看到我搗鼓Linux就覺得很不划算、不值得、不省心,覺得這種開源事業那麼多年了還是不成氣候。
- Windows+第三方驅動不就好了?
我對於驅動程式最主要是先去找官方驅動,真的不行我才會去找第三方驅動。我爸覺得我不必要死磕官方驅動,我說官方驅動只支援2000/xp/vista,WIndows 7可以裝是因為Windows 7的NT內核是Vista修改而來,Windows 10是第三方驅動可以支持的最高版本,現在我的筆電出廠就Windows 11,裝不上去了,第三方的驅動難找、安全性欠佳、多年沒動靜了。
有趣的是,Windows的驅動庫似乎有裝驅動,但是把印表機認為是普通的USB裝置,不能當作印表機來列印。說實在,走USB協議,只要操作系統可以識別出這個硬體的ID等訊息,Windows大概都當作這個硬體可以正常運作吧?至少Linux還把這個USB裝置檔印表機。
- Windows+虛擬機?
我們都知道Windows有三大虛擬機,有Hyper-V、甲骨文的VirtualBox、博通的VMware。這三個都不令我滿意。
首先是Hyper-V,我的Windows 11是家用版,除非我加錢去用專業版,不然一般來說你沒法用,我用了一下我覺得不怎麼順手,且目前看下來,Hyper-V還沒辦法USB裝置直通。來看看VMware,這被博通(網卡中的老黃,我遇過、看過不少Linux不方便原生支援博通的網卡)搞爛的VMware,裝舊系統的VMTools不好下載、不方便下載。VirtualBox我覺得算不錯,但就是虛擬化加速是這三個裡面較弱的,虛擬機開起來的性能損失我覺得有些多。我倒覺得直接去使用QEMU/KVM不是最好的嗎?
我爸聽到這裡,就說:「你看,你又想要去搞你那UNIX嘛!」我火都有些上來了,我後面再講。
- 筆電直接裝舊版Windows不行嗎?
- 難怪之前去診所醫生還在用xp。
何必死磕?自由不等於免費
我們來聊聊哲學問題。先回答為何死磕這臺印表機,這臺印表機花了一萬二買來列印公司報表,現在退役我撿去用,而且這一臺的色帶還買得到,再加上這是政府批量購買的機型(以前賣電腦設備的說的,認為這個型號不是那麼流通,色帶還要去叫貨。現實是驅動古老、放生早、官方驅動不給你下載。偏偏有LQ-690,就是沒有LQ-695C),我覺得還能用、夠我用,我找不到理由要報廢這臺印表機,難道報廢的理由就只是因為「驅動被放生」?
這個問題,在1980年代的MIT就上演過類似的戲碼。MIT有一個Xerox雷射印表機,很快很方便,但是會相對容易卡紙,卡紙了沒人知道,大家要列印的文件就一直排隊,直到有人去處理卡紙問題。所以理查斯托曼(R.M.S.)就想說:要不寫一個程序來通知卡紙?R.M.S.跑去向影印機公司要驅動,但公司回絕,因為是專有的,不能夠為自己的需求量身打造一個驅動,這影印機、這驅動還能做什麼。
今天,我遇到的問題是EPSON沒有開源這些老產品的驅動。我覺得,已經下市的老產品的驅動拿來開源、交給社群維護不是很好嗎?就像AMD、Intel那樣,將驅動開源(當然裡面還是保留一些專有韌體),使得Linux下的驅動比隔壁NV的好,而且我相信那麼傳統、普通的印表機應該是沒有什麼十分深奧的機密。
我爸一直覺得這些開源的東西就像玩具一樣,但自己有時又不喜歡商業公司的操作。覺得我用的這些Linux到頭來還是在瞎搞,電腦與時俱進的新標準被評為垃圾(只因為這些新標準沒有兼容好舊標準,但是這是汰換問題,不是進步問題,可以看看隔壁的Windows,當然GNOME、蘋果的激進也是會痛的)。我不知道他是不是受到比爾蓋茲的影響,認為軟體這類的東西社群是維護不好、不要維護、不該去用的,但自己在這上面又會受到限制。
我在nownownow.com上面寫到,我做部落格、生活中常把開源與自由掛嘴邊,是希望我們要能夠有所選擇。在十幾年前,因為一款聊天軟體要年收30元臺幣,大家而跑去用LINE,結果現在LINE一家獨大(公平會怎麼不介入?),將修改文字訊息、收回文字訊息等在數位時代人權(可修改權利、被遺忘權)一般的權利都不給用,或是做得不好,直到LINE Premium出現,大家才知道,不是LINE真的很懶做不好,而是有能力故意做不好,將這些基本權利拿起來收費,這就像是你得要有交稅才有言論自由一樣的荒謬!難道你得要有繳稅才有人權的保障?(推薦看看三稜鏡的:養套殺!台灣人為何刪不掉 LINE,165 元憑什麼台灣人買單?|⊿)
有一次我對室友提倡自由、開源精神,對方提出了一個比爾蓋茲反問大家的問題:「如果這些程式碼都可以被fork、被看到,誰要養活一群開發者?」我們知道不可能用愛發電,但他們都避開了一些細節、別的方面,讓覺得自己飯碗收到威脅的開發者投入專有的行列。你覺得,教授們、學者們寫一個論文,需不需要付費才能看?付費是在付什麼錢?答案顯然是不用不付費就可以看文章,付費是論文的影印費、平臺保存的託管費、作者的一些版稅……這些都是合理的付費,如果你的看論文的全文(除了付了一筆,看到摘要,看下一頁還得要付費)還得要付費才能看,那你的還真的是論文嗎?人人都可以寫論文了……。選擇開源、自由軟體不是要放棄智慧財產權、擁抱共產主義,而是我們選擇了別的方式來為這個產品的價值付費,像是我們選擇GPL那樣,我給你我的程式碼,你要是有修改就要公開(某方面為開發者帶來肯定、支付了某種代價,開發者也可以放心的放生自己手上的專案)。請注意,我沒有否定專有軟體,我認為專有軟體是必要的、合理的,就像是你要花錢買書一樣。但我反對將專有軟體視為理所當然的唯一選擇。
現在來回頭看看LINE、Windows、Google的YouTube,我們過渡認為這是理所當然的第一選擇(因為早期他們可以快速發展好相對成熟的功能),卻把自己的別的選擇權給貢獻出去了,處於一個集體、廣大的監獄。這個監獄不是第一天就打算蓋的、也不一定是本來就打算變成一個監獄,而是當人們放棄選擇權,任由人性使然的,不可能有那麼多像Linus那樣的人,大家還是要回歸現實的,只不過,我們有「選擇的權力」來一同控制軟體世界的生態。(「權力(Power)」和「權利(Right)是不一樣的,我最後這句用權力,是因為這是「你來掌控的」,你選擇的意願是否可以這才是你享有的「權利」)。
我的nownownow.com
歷經一番辛苦,我終於是在我的nownownow.com上留下我的個人的一頁,就在這裡。照片裡的是我在國小中年級買的熊貓娃娃,到了大學我把他帶去新竹,因為放假就拿回家洗一次澡,那是在新竹客運上拍的照片。我覺得選那張照片很不錯,看起來很隨和,那件是普魯士藍的襯衫,我有另一件深黑色的,第一次穿還有人說我是不是要去參加婚禮。


沒有留言:
張貼留言