Настраиваем принтер Canon LBP3010 в Ubuntu 10.10


    Я почти полтора месяца пытался заставить работать этот принтер (за это время я даже успел перейти на сборку PinguyOS, обзор которой, возможно, скоро будет). И никаких успехов я не достиг в этом, но лишь до сегодняшнего дня. Пару дней назад я стал искать свежие мануалы по настройке этого принтера и сопоставив их, мне удалось сделать задуманное.
    И теперь я хочу поделиться работающим решением с хабрасообществом. Я надеюсь, что эта информация окажется полезна.

    Перед выполнением всех пунктов инструкции принтер лучше держать в выключенном состоянии.

    Итак, первым пунктом я предлагаю воспользоваться скриптом по автоматической настройке (что, правда, у меня не заработало, однако это наиболее простой метод установить сами драйвера) принтера, который можно скачать тут.

    Далее, распаковываем архив и запускаем имеющийся скрипт (вы должны находиться в терминале в той папке, в которой и лежит интересующий нас скрипт — canonLBP_install.sh) следующей командой (в терминале):
    sudo ./canonLBP_install.sh LBP3010

    Это установить все необходимые драйвера, а также некоторые дополнительные пакеты из числа зависимостей — очень удобно.
    Далее идём в Система — Администрирование — Печать и удаляем там появившийся принтер, он нам больше не понадобится.
    После этого запустим ещё одну команду в терминале:

    sudo /usr/sbin/lpadmin -p LBP3010 -m CNCUPSLBP3050CAPTK.ppd -v ccp:/var/ccpd/fifo0

    Это создаст новый принтер на основе pdd-файла, в котором, как я понял, описывается принцип работы с нашим LBP3010 (и, как видно из названия, с LBP3050). В результате этого действия в Система — Администрирование — Печать появится принтер с называнием LBP3010.

    Теперь нам надо привязать этот принтер к usb. Для этого выполняем следующую команду в терминале:

    sudo /usr/sbin/ccpdadmin -p LBP3010 -o /dev/usb/lp0

    После этого в консоли должно быть написано нечто следующее:

    CUPS_ConfigPath = /etc/cups/
     LOG Path        = None
     UI Port         = 59787

     Entry Num  : Spooler : Backend : FIFO path : Device Path  : Status 
     ----------------------------------------------------------------------------
         [0]    : LBP3010  : ccp  : /var/ccpd/fifo0  : /dev/usb/lp0 : New!!


    Всё, что осталось сделать — подправить скрипт ccpd, который является важным звеном в работе принтера. В очередной раз возвращаемся к терминалу:

    sudo gedit /etc/init.d/ccpd

    Этой командой мы открываем этот скрипт в дефолтном текстовом редакторе под root'ом. Удаляем из этого файла всё, что вы там видите и вставляем новый скрипт:

    # startup script for Canon Printer Daemon for CUPS (ccpd)

    ### BEGIN INIT INFO
    # Provides:         ccpd
    # Required-Start:   $local_fs $remote_fs $syslog $network $named
    # Should-Start:     $ALL
    # Required-Stop:    $syslog $remote_fs
    # Default-Start:    2 3
    # Default-Stop:     0 1 4 5 6
    # Description:      Start Canon Printer Daemon for CUPS
    ### END INIT INFO

    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


    Затем перезапускаем сервис принтера опять же из терминала:

    sudo /etc/init.d/ccpd restart

    В ответ в консоли вы должны увидеть:

    * Restarting Canon Printer Daemon for CUPS: ccpd [ OK ]

    Для того, чтобы принтер работал и после перезапуска системы, выполняем ещё одну команду:

    sudo update-rc.d ccpd defaults 50

    И вы должны получить в ответ следующее:

    update-rc.d: warning: ccpd start runlevel arguments (2 3 4 5) do not match LSB Default-Start values (2 3)
    update-rc.d: warning: ccpd stop runlevel arguments (0 1 6) do not match LSB Default-Stop values (0 1 4 5 6)
     Adding system startup for /etc/init.d/ccpd ...
       /etc/rc0.d/K50ccpd -> ../init.d/ccpd
       /etc/rc1.d/K50ccpd -> ../init.d/ccpd
       /etc/rc6.d/K50ccpd -> ../init.d/ccpd
       /etc/rc2.d/S50ccpd -> ../init.d/ccpd
       /etc/rc3.d/S50ccpd -> ../init.d/ccpd
       /etc/rc4.d/S50ccpd -> ../init.d/ccpd
       /etc/rc5.d/S50ccpd -> ../init.d/ccpd


    Теперь можем включить принтер (я уверен, вы ждали этого момента ;) )
    В системе появится ещё один принтер под названием Canon LBP3010/LBP3018/LBP3050, который система выставит как принтер по умолчанию, что нам совершенно не надо.
    Надо указать системе, чтобы она использовала по умолчанию принтер который мы с вами создали — то есть LBP3010, а этот новый принтер лично я оставил, на всякий случай. Если удалите и у вас всё будет работать — прошу отписаться в комментах.

    В свойствах этого принтера на вкладке Политика ставим галочки напротив приём заданий, разрешён и общий доступ.

    Можете распечатывать тестовую страницу :)

    В статье были использованы материалы:
    help.ubuntu.com/community/CanonCaptDrv190
    forum.ubuntu.ru/index.php?topic=94290.0
    и ещё куча всего, что в той или иной степени оказалось полезно.
    Поделиться публикацией
    Похожие публикации
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 17
    • +7
      Надо создать блог «Костыли»
      • +1
        Костыли и еще какие. Но это единственный реально работающий способ заставить печатать этот принтер.
        Не помню точно какие еще модели Canon заводятся таким способом. Но они точно есть.

        Я уже два раза аналогичным способом их настраивал.

        Автору плюс за понятный мануал. Запишу ка я его в эвернот :)
        • +1
          Проще купить HP и не парится.
          • +3
            Проблема в том, что заказчик не хочет покупать другой принтер. И вообще не понимает почему он должен менять принтер со сменой ОС. Он ведь хотел сэкономить на лицензии :)

            Из примерно 5 случаев когда мне нужно было поставить Линукс на неподдерживаемое железо, сменить часть железо согласился только один. Остальные предпочли вот такие костыли.

            ЗЫ К чести Линукса поставленные костыли работают уже соответственно 3, 2, и 1 год в разных организациях, и я туда ничего не хожу обслуживать :)
            • 0
              Ну значит зачем ему Линукс? Пусть экономит другими способами, Линукс прежде всего нужно ставить, когда хочешь быть полностью контролировать ситуацию.
              • 0
                я вот поставил линукс, потому что, во-первых, семёрка жрала слишком много ресурсов, а, во-вторых — интерес, повышение опыта) проблема лицензий дома — это последнее, о чём я думал =)
                • 0
                  Это линукс то мало ресурсов ест))) Вообще я лично не хочу поддерживать тех производителей, которые вообще не помогают линукс сообществу
                  • 0
                    зато сейчас линукс будет жрать кучу времени :)
                    проверено
                    • 0
                      я конечно не был и «простым пользователем windows», так что для меня и настройка PinguyOS несложна и не занимает много времени)
                      Возможно, всё дело в том, что я часто гуглю — это экономит действительно кучу времени, чем разбираться самому.
                    • –2
                      RTFM prefetch.
                      Чесно, ну сколько можно уже… спецЫалисты
                      • +1
                        я прекрасно знаю, что такое prefetcher в vista и seven. тут тоже есть аналог этого — называется preload. однако ведь не жрёт так оперативку.
                  • 0
                    > заказчик не хочет покупать другой принтер

                    А платить админу за джва месяца настройки, наверное, дешевле?

                    Весело у вас там.
                • –2
                  Если нужно читать немаленькую статью чтобы установить драйверы на обычный принтер, то линукс не нужен*

                  *на десктопе
                  • 0
                    имхо, статья небольшая, да и большая часть текста — копи-паст либо в консоль, либо в текстовый редактор.
                    • +2
                      Это от принтера зависит. Всё железо от HP заводится из коробки с полпинка, даже 500 метров драйверов качать не надо.
                      • +1
                        Если один из многих производителей принтеров не умеет делать драйвера под вашу любимую ОС — то этот производитель не нужен*

                        *на десктопе
                        • +1
                          Я уверен, nobody cares*

                          *производители, вендоры

                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.