Дано: Компьютер с установленным дистрибутивом ArchLinux 2010.05, лазерный принтер HP LaserJet 1010, подключённый к этому компьютеру по USB, доступ в сеть Интернет.
Требуется: Настроить печать на компьютере.
Решение:

Обнаружение принтера ядром

Сперва нужно убедиться, что ядро "видит" принтер как устройство. Если принтер ещё не подключён физически к компьютеру, это надо сделать при выключенном из сети питания компьютере и принтере. После "стыковки", включаем компьютер, ждём, когда загрузится операционка, логинимся и подаём питание на принтер. Проверяем, что ядро увидело принтер:

 $ dmesg

В конце вывода, должно быть что-то типа таких строк:

 ...
 usb 8-1: new full speed USB device using uhci_hcd and address 2
 usblp0: USB Bidirectional printer dev 2 if 0 alt 1 proto 2 vid 0x03F0 pid 0x0C17
 usbcore: registered new interface driver usblp
 ... 

- это говорит о том, что ядро нашло устройство, подключило модуль usbcore и обозвало само устройство usblp0.

Установка необходимого программного обеспечения

Для печати, потребуется установить программу сервер печати CUPS, а также драйвера печати для принтеров HP.

 # pacman -S cups hplip

Системой, для разрешения зависимостей будут ещё доустановлены необходимые пакеты: ghostscript, foomatic-db, foomatic-filters, foomatic-db-engine, net-snmp.

Предполагается, что компьютер корректно настроен на установку пакетов с дисков или репозитория в сети Интернет.

Настройка принтера

В идеале, ещё нужно доустановить python, python-dbus, Qt, PyQt4, gnomesu или gksu чтобы утилита настроки принтеров HP заработала с графическим интерфейсом. Этот вариант может кто опишет, а пока произведём настройку без этих пакетов - в текстовой консоли.

Запускаем сервер печати:

 # /etc/rc.d/cups start

Запускаем программу настройки hp-setup с ключами:

 # hp-setup -i -a

Ключи -i -a укажут программе о автоматическом поиске всех присоединённых к компьютеру принтеров.
Затем программа попросит выбрать из списка тип соединения компьютера с принтером (в моём случае, usb был под номером "0"), после чего, в случае успешной настройки, распечатает пробную страницу.

Процесс запуска программы у меня выглядел так:

 # hp-setup -i -a
   warning: python-dbus not installed.

   HP Linux Imaging and Printing System (ver. 3.10.6)
   Printer/Fax Setup Utility ver. 9.0

   Copyright (c) 2001-9 Hewlett-Packard Development Company, LP
   This software comes with ABSOLUTELY NO WARRANTY.
   This is free software, and you are welcome to distribute it
   under certain conditions. See COPYING file for more details.

   --------------------------------
   | SELECT CONNECTION (I/O) TYPE |
   --------------------------------

     Num       Connection  Description                                               
            Type                                                                  
     --------  ----------  ----------------------------------------------------------
     0*        usb         Universal Serial Bus (USB)                                
     1         net         Network/Ethernet/Wireless (direct connection or JetDirect)

   Enter number 0...1 for connection type (q=quit, enter=usb*) ? 

Далее нажимаем на "0" - т.е. выбираем самый верхний пункт - usb-соединение.

   Using connection type: usb

   Using device: hp:/usb/hp_LaserJet_1010?serial=00CNFJ063511

   Setting up device: hp:/usb/hp_LaserJet_1010?serial=00CNFJ063511

   ---------------------
   | PRINT QUEUE SETUP |
   ---------------------

   Using queue name: hp_LaserJet_1010
   Locating PPD file... Please wait.

   Found PPD file: lsb/usr/HP/hp-laserjet_1010-hpijs.ppd.gz

   Adding print queue to CUPS:
   Device URI: hp:/usb/hp_LaserJet_1010?serial=00CNFJ063511
   Queue name: hp_LaserJet_1010
   PPD file: lsb/usr/HP/hp-laserjet_1010-hpijs.ppd.gz
   Location: 
   Information: Automatically setup by HPLIP
 
   ---------------------
   | PRINTER TEST PAGE |
   ---------------------

   warning: python-dbus not installed.
   warning: hp-testpage should not be run as root/superuser.

   HP Linux Imaging and Printing System (ver. 3.10.6)
   Testpage Print Utility ver. 6.0

   Copyright (c) 2001-9 Hewlett-Packard Development Company, LP
   This software comes with ABSOLUTELY NO WARRANTY.
   This is free software, and you are welcome to distribute it
   under certain conditions. See COPYING file for more details.

   warning: Qt/PyQt 4 initialization failed.
   error: hp-testpage -u/--gui requires Qt4 GUI support. Entering interactive mode.
   Printing test page to printer hp_LaserJet_1010...
   Test page has been sent to printer.

   note: If an error occured, or the test page failed to print, refer to the HPLIP website
   note: at: http://hplip.sourceforge.net for troubleshooting and support.

   Done.

   Done.
 #

Если всё прошло как получилось выше - значит принтер на уровне драйвера установился.

Настройка печати

Заходим на интерфейс управления сервером печати CUPS, для чего открываем любой доступный Интернет-браузер и в адресной строке вводим:

 http://localhost:631/ 

Должна открыться страничка управления. Переходим на вкладку "Принтеры" и убеждаемся, что устанавливаемый принтер появился в списке.

Вкладка "Принтеры" на странице управления CUPS. (Нажмите для увеличения)

Если устанавливаемый принтер не появился, следует добавить его вручную, через диалог "Начало" > "Добавление принтеров и групп". Для настройки параметров доступа к принтеру, а также режима работы (сетевой\не сетевой), нужно перейти на вкладку "Администрирование". Любое изменение параметров будет требовать ввести пароль root`а на данной машине.

Также следует настроить параметры принтера по умолчанию, иначе при печати с разных приложений, придётся каждый раз снова и снова выставлять эти параметры. Делается это переходом на вкладку "Принтеры", а затем переходом на меню "Установить параметры по умолчанию":

Вкладка "Принтеры", диалог параметров по умолчанию. (Нажмите для увеличения)

Допишите статью, кто знаком с расширенными настройками сервера печати.

На этом настройку локального принтера можно считать завершённой. Для автозапуска сервера печати, необходимо отредактировать файл /etc/rc.conf и добавить cups в конец списка загружаемых демонов. Строка DAEMONS должна выглядеть примерно так:

...
DAEMONS=(syslog-ng network hal crond alsa cups)
... 

А также

Печать/экспорт