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.

Cài máy in Canon trong Mandriva 2009

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 đã có sẵn driver trong Linux thì không cần theo hướng dẫn này.

Trước đây trên blog này đã có một post hướng dẫn cài trên Mandriva 2008. Bản 2009 dùng một phần mềm cài máy in khác nên có một số điểm khác biệt trình bày dưới đây.

Nhấn vào nút Menu trên thanh panel, rồi nhấn tiếp vào Install & Remove Software. Trong màn hình cài đặt, tìm cài gói system-config-printer, task-printing-server và phần mềm soạn thảo nano.

Nhấn vào icon trên panel để mở Mandriva Linux Control Center. Trong màn hình Control Center nhấn vào Hardware ở cột bên trái rồi nhấn tiếp vào Set up the printer(s). Một màn hình nhỏ hiện lên yêu cầu cài hai gói phần mềm còn thiếu. Nhấn vào nút Install để cài.

(CHÚ Ý: khi cài xong phần này, nếu khởi động lại máy, Mandriva sẽ tự động nhận biết đúng máy in và tự cài. Khi cài xong sẽ có thông báo như sau:

printer1210Model máy in do máy thông báo nên nhận đúng nhưng driver hiện không có nên chương trình dùng driver của máy gần nhất. Khi in thử, thực tế sẽ không in được. Vì vậy việc nhận đúng tên máy in chưa phải là đủ).

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 mới nhất (1.80):

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

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

Mở thư mục đó, rồi mở tiếp thư mục Doc ta thấy có file guide-capt-1.8xE.tar.gz. Nhấn chuột phải vào file rồi chọn Extract – Extract Here, file được giải nén thành thư mục guide-capt-1.8xE. Mở thư mục đó ra, nhấn chuột vào file manual_contents.html ta sẽ có một trang web hướng dẫn cài đặt. Về cơ bản các bước dưới đây làm theo hướng dẫn đó, có sửa đổi đôi chút cho dễ hơn.

  1. Mở thư mục CANON_UK/Driver/RPM. Nhấn vào file cndrvcups-common-1.80-1.i386.rpm để cài trước, sau đó nhấn tiếp vào file cndrvcups-capt-1.80-1.i386.rpm để cài tiếp. Mandriva dùng dạng đóng gói file cài đặt là rpm nên ta cài các file nói trên. Với những hệ Linux dùng dạng file deb (Ubuntu, Mint,…) thì mở thư mục CANON_UK/Driver/DEB để cài.

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

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

  • su – Enter – nhập password của root rồi Enter tiếp.

  • /usr/sbin/lpadmin -p LBP1120 -m CNCUPSLBP1120CAPTK.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.

  • /usr/sbin/ccpdadmin -p LBP1120 -o /dev/usb/lp0 rồi Enter.

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

  1. Vẫn trong màn hình Terminal và đăng nhập với quyền root ở trên, chạy lệnh sau:
    nano /etc/rc.local
    trong đó nano là một chương trình soạn thảo trong terminal. Nếu bị báo lỗi chưa có nano thì quay lại Install & Remove Software cài nó vào.

  2. Màn hình nano có file rc.local đã mở như hình sau:

  1. Dùng phím mũi tên di chuyển con trỏ xuống hàng dưới cùng rồi gõ thêm vào hàng sau:
    /etc/init.d/ccpd start
    Nhấn cặp phím Ctrl+o (chữ o không phải số 0) để ghi file đã sửa lại (WriteOut). Sau đó nhấn cặp phím Ctrl+x để thoát khỏi chương trình nano.

  2. Khởi động lại máy tính. Khi khởi động xong, nhấn cặp phím Ctrl+Esc để mở chương trình System Activity. Trong màn hình mở ra, kiểm tra xem ccpd đã chạy chưa.

  3. Mở Mandriva Linux Control Center, nhấn vào Hardware ở cột bên trái rồi nhấn tiếp vào Set up the printer ta sẽ thấy máy in xuất hiện như hình sau (tự nhận, không phải cài):

  1. Nhấn phím phải vào tên máy in rồi nhấn tiếp Propeties ta có màn hình sau:

  1. Chú ý là ở mục Device URI (địa chỉ máy in) phải như trong hình trên (trùng với lệnh đã khai báo ở bước 2). Nhấn Print Test Page để in thử. Nhấn vào các mục khác ở cột bên trái để đặt các tuỳ chọn cho máy in.

  2. Xong.

KUBUNTU GUTSY 7.10: Cài đặt máy in CANON LASER LBP5300, LBP3500, LBP3300, LBP5000, LBP3210, LBP3000, LBP2900, LBP3200, LBP1120/1210

Một số loại máy in Canon LBP dùng một driver riêng của Canon, Canon Advanced Printing Technology – CAPT driver, cách cài hơi khó hơn bình thường. Tôi chia sẻ cách cài trong file “Cai dat may in Canon LBP.pdf” tại kho dữ liệu Mediafire.

Mong nhận được ý kiến và góp ý sửa chữa của mọi người.