3/24/09

Cài máy in Canon trong Ubuntu Intrepid (8.10)

Một số máy in Canon sau đây: LBP-1120, 1210, 2900, 3000, 3200, 3210, 3300, 3500, 5000, 5100, 5300. dùng chung một driver CAPT của chính hãng. Driver này miễn phí nhưng nguồn đóng nên thường không được cài sẵn trong các bản Linux.

CHÚ Ý: driver CAPT chỉ dùng được khi máy in nối với máy tính qua cổng USB.

Một số máy in Canon khác (LBP1000, ...) đã có sẵn driver trong Linux thì không cần theo hướng dẫn này.



Tuy nhiên cũng giống như Mandriva 2009.0, khi cắm và bật, ví dụ máy in Canon LBP-1210, Ubuntu sẽ nhận được máy và tự cài. Nhấn vào menu System Administration Printing ta sẽ có màn hình với máy in LBP-1210 đã cài, nhấn phím phải chuột vào đó, chọn Propeties, màn hình sau xuất hiện:


Phần Description đúng vì thông tin này do máy in cung cấp. Phần Make and Model sai vì hiện không có driver CAPT cài trên máy, Ubuntu sẽ chọn driver của LBP-1000 thay thế nhưng nếu in thì không in được.


Các hướng dẫn dưới đây về cơ bản theo hướng dẫn tại đây có sửa và bổ xung thêm chút ít.



1- Google search cụm từ “CAPT Printer Driver” ta sẽ tìm được ví dụ trang này có chứa driver cần tìm. Mở trang đó, cuốn xuống dưới cùng, tìm đến chỗ dưới đây ứng với driver version 1.60 (version mới hơn 1.80 không làm việc được với Ubuntu 8.10):



2- Nhấn vào dòng Canon CAPT Printer Driver for Linux (1.60) sang trang tiếp, cuốn xuống dưới đến mục sau:

3- Nhấn vào dòng CAPTDRV160.tar.gz để tải file đó về. Nhấn phím phải chuột vào file, chọn Extract Here, file được giải nén thành thư mục CAPTDRV160.


4- Mở thư mục CAPTDRV160/Driver/debian. Nhấn vào file cndrvcups-common_1.60-1_i386.deb để cài trước, sau đó nhấn tiếp vào file cndrvcups-capt_1.60-1_i386.deb để cài tiếp.


5- Khởi động lại máy tính để Ubuntu nhận các driver mới cài.



6- Mở Terminal, chạy lần lượt hai lệnh sau (copy hai lệnh sau rồi paste vào terminal cho nhanh và đỡ nhầm):

sudo /usr/sbin/lpadmin -p LBP1210 -m CNCUPSLBP1210CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E

(lệnh viết liên tục thành một hàng, không xuống dòng) rồi Enter.


sudo /usr/sbin/ccpdadmin -p LBP1210 -o /dev/usb/lp0 rồi Enter.




    Lệnh đầu đăng ký máy in với trình quản lý hàng đợi  (print spooler). Lệnh thứ hai đăng ký máy in với ccpd (Canon Printer daemon for CUPS, trình quản lý máy in Canon).
    CHÚ Ý: hai lệnh sau viết ví dụ cho máy in Canon LBP-1210. Nếu cài máy in Canon khác phải thay các cụm LBP1210 bằng cụm tương ứng (ví dụ: LBP2900)
    Khi lệnh thứ hai thực hiện thành công, màn hình có thông báo như sau:



7- Chạy tiếp lệnh sau để backup file ccpd:



    sudo mv /etc/init.d/ccpd ccpdold

8- Copy toàn bộ đoạn mã lệnh sau đây:


#
# ccpd startup script for Canon Printer Daemon for CUPS
#
# Modified for Debian GNU/Linux
# by Raphael Doursenaud <rdoursenaud@free.fr>
# and Markovtsev Vadim <markhor@mail.ru>

DAEMON=/usr/sbin/ccpd
LOCKFILE=/var/lock/subsys/ccpd
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME=ccpd
DESC="Canon Printer Daemon for CUPS"

test -f $DAEMON || exit 0

. /lib/lsb/init-functions

case $1 in
start)
log_begin_msg "Starting $DESC: $NAME"
start-stop-daemon --start --quiet --exec $DAEMON
log_end_msg $?
;;
stop)
log_begin_msg "Stopping $DESC: $NAME"
start-stop-daemon --stop --quiet --oknodo --exec $DAEMON
log_end_msg $?
;;
status)
echo "$DESC: $NAME:" 'pidof $NAME'
;;
restart)
log_begin_msg "Restarting $DESC: $NAME"
start-stop-daemon --stop --quiet --oknodo --exec $DAEMON
sleep 1
start-stop-daemon --start --quiet --exec $DAEMON
log_end_msg $?
;;
*)
echo "Usage: ccpd {start|stop|restart|status}"
exit 1
;;
esac

exit 0

9- Quay lại màn hình terminal trên, chạy lệnh:



    sudo nano /etc/init.d/ccpd 

(trong đó nano là trình soạn thảo đơn giản. Nếu bị báo lỗi chưa có nano thì nhấn vào System – Administration – Synaptic Package Manager tìm cài nó vào máy.)


Nhấn vào menu Edit – Paste của màn hình terminal để paste toàn bộ các mã lệnh trên vào file ccpd. Nhấn tiếp cặp phím Ctrl+o (chữ o không phải số 0) để save kết quả lại rồi nhấn Ctrl+x để thoát khỏi nano.


10- Chạy tiếp lệnh sau trong terminal để gán quyền truy cập file ccpd cho mọi người:



    sudo chmod a+x /etc/init.d/ccpd

11- Khởi động ccpd:



    sudo /etc/init.d/ccpd start

12- Cho ccpd tự khởi động mỗi lần khởi động máy:



    sudo update-rc.d ccpd defaults 20

13- Chạy tiếp lệnh sau để khai báo ccpd với trình quản lý an ninh AppArmor:



    sudo gedit /etc/apparmor.d/usr.sbin.cupsd

Trong màn hình gedit




Copy hai dòng sau rồi paste xuống dưới dòng /var/spool/cups/**rw, (như hình trên):



# needed for Canon CAPT driver ###insert 
/var/ccpd/** rw, ###insert

Nhấn nút Save rồi đóng màn hình gedit lại.


14- Khởi động lại máy tính. Sau khi khởi động xong, nhấn vào System – Administration – Printing ta có hình sau:




Trong màn hình trên có hai máy in. Máy LASER-SHOT-LBP-1210 do Ubuntu tự cài không dùng được, nhưng nếu xóa đi, lần sau khởi động máy tính nó lại xuất hiện nên cứ để vậy. Máy thứ hai LBP1210 tương ứng với các động tác cài vừa xong. Nhấn phím phải chuột vào đó rồi chọn Propeties ta có:





Quan sát hình trên, nếu Device URI ccp:/var/ccpd/fifo0Make and ModelCanon LBP1210 CAPT ver 1.5 như trên là được.

Chú ý là mỗi máy in thuộc CAPT có hai driver khác nhau ở cuối tên có chữ K và chữ J. Có nhận xét cho biết trong Ubuntu 7.10 những driver K chiếm nhiều RAM (Ubuntu 8.10 thì không rõ). Nếu cần đổi driver làm như sau:

  • Nhấn vào nút Change ở hàng Make and Model, màn hình sau xuất hiện:





  • Chọn mục Provide PPD file (file driver có đuôi là ppd) rồi nhấn nút có biểu tượng thư mục, tìm đến thư mục /usr/share/cups/model rồi chọn driver như hình sau:




Sau khi chọn xong driver, quay lại màn hình Propeties, nhấn nút Print Test Page để thử.

Nếu không in được, thường là do ccpd không khởi động được. Mở terminal kiểm tra bằng lệnh:
sudo ps ax | grep ccpd

Kết quả như sau là được:



zxc@zxc-desktop:~$ sudo ps ax | grep ccpd  
[sudo] password for zxc:
4639 ?     Ss 0:00 /usr/sbin/ccpd
4733 ? Sl 0:00 /usr/sbin/ccpd
5714 pts/0 R+ 0:00 grep ccpd

Nếu kết quả không giống như trên, thử lệnh sau để khởi động ccpd



 sudo /etc/init.d/ccpd start

Kết quả của lệnh phải như sau:
 * Starting Canon Printer Daemon for CUPS: ccpd                          [ OK ]

Nếu kết quả trên không báo [OK] mà báo [fail] thì bật tắt lại máy in rồi chạy lại lệnh trên.


Quay lại in thử. Nếu được là lỗi không tự khởi động được ccpd, lặp lại các lệnh từ bước 8 xem có sai sót gì không.


CHÚ Ý: vì luôn luôn có hai máy in: một máy LBP1210 cài như trên và một máy LASER-SHOT-LBP-1210 do máy tính tự cài nên phải nhớ là chỉ có máy LBP1210 dùng được. Trong màn hình ở bước 14, nhấn phím phải chuột vào LBP1210 rồi chọn Set As Default để đặt máy in đó là mặc định.





6 comments:

Kubuntu 7.10: Cài đặt máy in Canon LBP 1120, 1210, 2900,… và HP 1020 « Phần mềm nguồn mở - Linux said...

[...] Cài máy in Canon trong Ubuntu Intrepid (8.10) [...]

Cài máy in Canon trong Madriva 2009.1 và Ubuntu 9.04 « Phần mềm nguồn mở – Linux said...

[...] Top Posts Kubuntu 7.10: Cài đặt máy in Canon LBP 1120, 1210, 2900,... và HP 1020MANDRIVA 2008: CÀI MÁY IN CANON LBP-1120, ... dùng CAPT driver (Update 2/7/2008).Cài máy in Canon trong Mandriva 2009Danh mục các bài viếtChín bộ themes đẹp của UbuntuTrang trí màn hình Gnome Desktop trên UbuntuPhần mềm quản lý dự án OpenProj 1.0Quản lý file audio/video trên Linux.Ubuntu 9.04 và card màn hình IntelCài máy in Canon trong Ubuntu Intrepid (8.10) [...]

PT hoc said...

toi da cop dia cai may in canon LBP vao may tinh nhung van khong cai dc may in ai biet chi gium voiiiiiiiiiiiiiiiiii

đoàn thanh nhã said...

cảm ơn bạn hé!!!!!!!

hung said...

neu nhu toi mat dia cai may canon 2900 thi xin hoi co link nao cai dc phan mem chay may canon 2900 ko?

Anonymous said...

neu nhu toi mat dia cai may canon 2900 thi xin hoi co link nao cai dc phan mem chay may canon 2900 ko?