Это старая версия документа.
Содержание
Проверка поддержки сканера в Linux на уровне драйверов.
Прежде всего стоит проверить, поддерживается ли подключенный или планируемый к покупке сканер на уровне драйверов. Данную информацию можно получить на сайте проекта SANE:
http://www.sane-project.org.
В частности, на странице раздела со стабильной поддержкой:
http://www.sane-project.org/sane-mfgs.html,
где проще всего искать по производителю (заголовок «Scanners», список «Manufacturers».)
Данные о сканерах представлены в таблицах, где наибольший интерес представляет столбец «Статус». Вот его легенда:
- Complete — полная поддержка.
- Good — поддерживается большинство функций.
- Basic — поддерживается только базовый функционал, по факту - хорошо если вообще будет работать.
- Unsupported — не поддерживается.
- Untested — не тестировался, скорее всего работать не будет, но можно поэкспериментировать самостоятельно или поискать драйвера в нестабильной ветке SANE («SANE Development (git) Version»): http://www.sane-project.org/lists/sane-mfgs-cvs.html
Если «Статус» имеет последние два значения, то придётся отказаться от покупки и/или использования данного сканера.
Если по данным сайта сканер поддерживается, но, в данный момент, не сканирует, то можно применить следующие рекомендации. И так, сначала самое простое.
Обновление системы с целью получения новых драйверов.
В Linux-дистрибутивах, к которым относиться и Ubuntu, большинство драйверов встроенно в ядро системы (собственно, в сам Linux). Поэтому следует регулярно устанавливать обновления системы, так как на ряду с другими обновлениями могут прийти новые версии ядра, а следовательно, и новые драйвера для компьютера и периферии.
Установить обновления можно с помощью системного приложения «Программы и обновления» (для классической Ubuntu с Unity) или с помощью «Менеджера обновлений Muon» (для KDE). О том, как использовать «Программы и обновления» можно прочитать здесь:
http://help.ubuntu.ru/wiki/руководство_по_ubuntu_desktop_14_04/менеджер_обновлений
Менеджер обновлений] \\
(заголовок «Управление обновлениями» во второй части страницы).
«//Менеджер обновлений Muon//» в KDE работает аналогично, хотя немного и отличается интерфейсом и наличием доп. функций.
Даже если в списке устанавливаемых обновлений не было новых версий ядра, то ничего страшного. В любом случае, обновления всегда полезны.
Если с обновлениями пришли новые ядра, то после окончания установки обновлений компьютер попросит его перезагрузить, на что надо согласиться. После перезагрузки можно ещё раз проверить работоспособность сканера.
Если сканер по-прежнему не работает, то потребуются применить более серьёзные методы решения проблемы.
=====Проверка распознавания системой сканера, как устройства.=====
Сначала нужно посмотреть, определяется ли сканер физически. Большинство сканеров сейчас подключается по USB, поэтому необходимо открыть Терминал и ввести команду, показывающую все подключенные USB-устройства:
<code>lsusb</code>
<note tip>Запустить Терминал можно по сочетанию клавиш <key>C-A-t</key></note>
Если среди них нет искомого сканера, то, скорее всего, проблема аппаратная. Стоит проверить, подключён ли сканер по USB, не переломился ли кабель и вообще, исправен ли сам сканер. Так же могут быть проблемы с распознаваем сканера в BIOS или UEFI компьютера. Часто помогает отключение XHCI в UEFI.
Если же в выводе Терминала есть строчка подобная этой:
<code>Bus 003 Device 005: ID 04a9:2220 Canon, Inc. CanoScan LIDE 25</code>
то уже хорошо — система видит сканер как USB-устройство и можно двигаться дальше. Естественно, что все цифры и наименование сканера могут быть другими. Важно то, что такая строка есть в принципе.
Теперь нужно ввести в Терминале:
<code>scanimage -L</code>
<note important>Следует обращать внимание на регистр букв. Во избежание ошибок лучше копировать команды в Терминал через буфер обмена.</note>
Если система не может выполнить команду, то, вероятно, не установлен пакет ''sane-utils'', о чём и сообщит Терминал. Установить этот пакет можно командой:
<code>sudo apt-get install sane-utils</code>
а затем повторить ввод:
<code>scanimage -L</code>
Положительным ответом будет считаться строка, аналогичная этой:
<code>device `plustek:libusb:003:008' is a Canon CanoScan LiDE25 flatbed scanner</code>
Собственно, на этом можно и остановиться. Сканер подключен и распознаётся, можно сканировать.
Если же Терминал выдаёт отрицательный ответ примерно в таком виде:
<code>No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages)</code>
то это может означать:
* аппаратную проблему;
* отсутствие прав на работу со сканером у активной в данный момент учётки пользователя;
* сканеру запрещено обращаться к ядру (где обычно и находятся драйвера).
Решать проблемы лучше в этом же порядке. Про решение аппаратных проблем уже было сказано выше, поэтому можно сразу перейти к настройке прав учётки пользователя.
=====Предоставление своей учётной записи права на работу со сканером.=====
Введённая в Терминал команда
<code>who am i</code>
или
<code>whoami</code>
покажет логин активного в данный момент пользователя.
Далее, нужно узнать, в каких группах состоит этот пользователь:
<code>groups <имя_пользователя></code>
где ''<имя_пользователя>'' — логин, полученный по команде //''whoami''//.
Если в этом списке указаны группы ''plugdev'' и ''scanner'', то всё в порядке. Это означает, что проблем с правами на доступ пользователя к сканеру нет и можно переходить к следующему решению.
Если же групп ''plugdev'' и ''scanner'' нет в списке, то нужно добавить текущего пользователя в эти группы. Например:
<code>sudo usermod -G plugdev,scanner -a user1</code>
где ''user1'' — логин добавляемого пользователя.
<note important>Внимание! Соблюдайте синтаксис! Группы перечисляются через запятую без пробелов, но во всех остальных местах команды пробелы обязательны. Названия групп и имя пользователя вводятся без кавычек и любых скобок.</note>
Управление группами можно организовать и через графический интерфейс. К сожалению, в современных версиях Ubuntu удалены графические оболочки для управления группами, поэтому сначала придётся их поставить.
Для Ubuntu с Unity и GNOME:
<code>sudo apt-get install gnome-system-tools</code>
Для Kubuntu или для KDE, являющимся в системе дополнительным рабочим окружением:
<code>sudo apt-get install kuser</code>
Запустить графическую утилиту управления группами в Unity можно через //Главное меню->линза Приложения->фильтр Система->раздел Установленные->программа Пользователи и группы// \\
Запуск в KDE: //Главное меню->Приложения->Система->программа KUsers (Управление пользователями)//
<note>В обоих рабочих окружениях можно набрать название программы в поисковой строке меню, что значительно ускорит процесс поиска и запуска нужной программы.</note>
Подробнее о пользователях и группах можно прочитать, например, здесь: \\
[[http://help.ubuntu.ru/wiki/пользователи_и_группы
Пользователи и группы
После включения пользователя в нужные группы снова ввести в Терминал:
scanimage -L
Если в ответ появляется строка, аналогичная этой, то проблема решена:
device `plustek:libusb:003:008' is a Canon CanoScan LiDE25 flatbed scanner
Иначе следует применить следующий метод решения проблемы.
Разрешение сканеру обращаться к ядру системы.
Если ответ Терминала по прежнему отрицательный, то, возможно, сканеру запрещено обращаться к ядру. Разрешение можно дать, отредактировав конфигурационный файл «40-libsane.rules» в текстовом редакторе, запущенном с правами Суперпользователя:
sudo gedit /lib/udev/rules.d/40-libsane.rules
sudo kate /lib/udev/rules.d/40-libsane.rules
В открывшемся тексте наверняка найдётся строка с параметрами сканера со схожим названием. Нужно скопировать строчку с этими данными и вставить её копию сразу под найденной, заменив в копии название сканера и номера idVendor и idProduct на полученные ранее по команде lsusb
.
Вот как это будет выглядеть подробнее.
Строка с похожим сканером в файле «40-libsane.rules»:
# Canon CanoScan LiDE 60 ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="221c", ENV{libsane_matched}="yes"
Данные от lsusb
:
Bus 003 Device 005: ID 04a9:2220 Canon, Inc. CanoScan LIDE 25
В файле «40-libsane.rules» в копии строки, в заголовке меняется номер модели сканера с 60 на 25, а двойной ID 04a9:2220, полученный от lsusb нужно разделить на idVendor — 04a9 и idProduct — 2220. В результате, основная и новая строки, друг за другом, будут выглядеть так:
# Canon CanoScan LiDE 60 ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="221c", ENV{libsane_matched}="yes" # Canon CanoScan LiDE 25 ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="2220", ENV{libsane_matched}="yes"
Остаётся только сохранить файл и закрыть его.
Теперь снова вводим в Терминале:
scanimage -L
Теперь уже ответ должен быть положительным:
device `plustek:libusb:003:008' is a Canon CanoScan LiDE25 flatbed scanner
Проблема решена. Можно приступать к сканированию.