Справедливо для Ubuntu 14.04 LTS. Скорее всего подойдёт для остальных версий, начиная с 12.04 LTS до 14.10 включительно (нужно проверить).

Проверка поддержки сканера в 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). О том, как использовать «Менеджер обновлений» можно прочитать, например, здесь:
Репозитории и обновления
(заголовок «Управление обновлениями» во второй части страницы).

«Менеджер обновлений Muon» в KDE работает аналогично, хотя немного и отличается интерфейсом и наличием доп. функций.

Даже если в списке устанавливаемых обновлений не было новых версий ядра, то ничего страшного. В любом случае, обновления всегда полезны.

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

Если сканер по-прежнему не работает, то потребуются применить более серьёзные методы решения проблемы.

Проверка распознавания системой сканера, как устройства.

Сначала нужно посмотреть, определяется ли сканер физически. Большинство сканеров сейчас подключается по USB, поэтому необходимо открыть Терминал и ввести команду, показывающую все подключенные USB-устройства:

lsusb
Запустить Терминал можно по сочетанию клавиш Ctrl+Alt+T

Если среди них нет искомого сканера, то, скорее всего, проблема аппаратная. Стоит проверить, подключён ли сканер по USB, не переломился ли кабель и вообще, исправен ли сам сканер. Так же могут быть проблемы с распознаваем сканера в BIOS или UEFI компьютера. Часто помогает отключение XHCI в UEFI.

Если же в выводе Терминала есть строчка подобная этой:

Bus 003 Device 005: ID 04a9:2220 Canon, Inc. CanoScan LIDE 25

то уже хорошо — система видит сканер как USB-устройство и можно двигаться дальше. Естественно, что все цифры и наименование сканера могут быть другими. Важно то, что такая строка есть в принципе.

Теперь нужно ввести в Терминале:

scanimage -L
Следует обращать внимание на регистр букв. Во избежание ошибок лучше копировать команды в Терминал через буфер обмена.

Если система не может выполнить команду, то, вероятно, не установлен пакет sane-utils, о чём и сообщит Терминал. Установить этот пакет можно командой:

sudo apt install sane-utils

а затем повторить ввод:

scanimage -L

Положительным ответом будет считаться строка, аналогичная этой:

device `plustek:libusb:003:008' is a Canon CanoScan LiDE25 flatbed scanner

Собственно, на этом можно и остановиться. Сканер подключен и распознаётся, можно сканировать.

Если же Терминал выдаёт отрицательный ответ примерно в таком виде:

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)

то это может означать:

  • аппаратную проблему;
  • отсутствие прав на работу со сканером у активной в данный момент учётки пользователя;
  • сканеру запрещено обращаться к ядру (где обычно и находятся драйвера).

Решать проблемы лучше в этом же порядке. Про решение аппаратных проблем уже было сказано выше, поэтому можно сразу перейти к настройке прав учётки пользователя.

Предоставление своей учётной записи права на работу со сканером.

Введённая в Терминал команда

who am i

или

whoami

покажет логин активного в данный момент пользователя.

Далее, нужно узнать, в каких группах состоит этот пользователь:

groups <имя_пользователя>

где <имя_пользователя> — логин, полученный по команде whoami.

Если в этом списке указаны группы plugdev и scanner, то всё в порядке. Это означает, что проблем с правами на доступ пользователя к сканеру нет и можно переходить к следующему решению.

Если же групп plugdev и scanner нет в списке, то нужно добавить текущего пользователя в эти группы. Например:

sudo usermod -G plugdev,scanner -a user1

где user1 — логин добавляемого пользователя.

Внимание! Соблюдайте синтаксис! Группы перечисляются через запятую без пробелов, но во всех остальных местах команды пробелы обязательны. Названия групп и имя пользователя вводятся без кавычек и любых скобок.

Управление группами можно организовать и через графический интерфейс. К сожалению, в современных версиях Ubuntu удалены графические оболочки для управления группами, поэтому сначала придётся их поставить.

Для Ubuntu с Unity и GNOME:

sudo apt install gnome-system-tools

Для Kubuntu или для KDE, являющимся в системе дополнительным рабочим окружением:

sudo apt install kuser

Запустить графическую утилиту управления группами в Unity можно через Главное меню→линза Приложения→фильтр Система→раздел Установленные→программа Пользователи и группы
Запуск в KDE: Главное меню→Приложения→Система→программа KUsers (Управление пользователями)

В обоих рабочих окружениях можно набрать название программы в поисковой строке меню, что значительно ускорит процесс поиска и запуска нужной программы.

Подробнее о пользователях и группах можно прочитать, например, здесь: Пользователи и группы

После включения пользователя в нужные группы снова ввести в Терминал:

scanimage -L

Если в ответ появляется строка, аналогичная этой, то проблема решена:

device `plustek:libusb:003:008' is a Canon CanoScan LiDE25 flatbed scanner

Иначе следует применить следующий метод решения проблемы.

Разрешение сканеру обращаться к ядру системы.

Если ответ Терминала по прежнему отрицательный, то, возможно, сканеру запрещено обращаться к ядру. Разрешение можно дать, отредактировав конфигурационный файл «40-libsane.rules», или если такого файла нет, «60-libsane.rules» в текстовом редакторе, запущенном с правами Суперпользователя:

sudo gedit /lib/udev/rules.d/40-libsane.rules
gedit — стандартный текстовый редактор Ubuntu для рабочих окружений Unity и GNOME. В Kubuntu (или в KDE) вместо него обычно используется Kate:
sudo kate /lib/udev/rules.d/40-libsane.rules

В открывшемся тексте наверняка найдётся строка с параметрами сканера со схожим названием. Нужно скопировать строчку с этими данными и вставить её копию сразу под найденной, заменив в копии название сканера и номера idVendor и idProduct на полученные ранее по команде lsusb.

Вот как это будет выглядеть подробнее.

В качестве примера продолжает рассматриваться сканер «CanoScan LIDE 25». При подключении другого сканера, его название и значения idVendor и dProduct будут другими, так же может отличаться номер USB-порта.

Строка с похожим сканером в файле «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 нужно разделить на idVendor04a9 и idProduct2220. В результате, основная и новая строки, друг за другом, будут выглядеть так:

# 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

Проблема решена. Можно приступать к сканированию.