Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Как для настольного компьютера с Ubuntu сконфигурировать сетевой принтер и сканер

Оригинал: How to configure a network printer and scanner on Ubuntu desktop
Автор: Gabriel Canepa
Дата публикации: August 19, 2014
Перевод: Н.Ромоданов
Дата перевода: октябрь 2014 г.

В предыдущей статье мы обсуждали, как на сервере Linux установить несколько видов принтеров (а также сетевой сканер). Сегодня мы подойдем к этому вопросу с другого конца: как с настольного клиентского компьютера получить доступ к сетевым принтерам/сканерам.

Сетевые настройки

В данном случае адресом IP нашего сервера (Debian Wheezy 7.2) является адрес 192.168.0.10, а наш клиентский компьютер (Ubuntu 12.04) имеет адрес IP - 192.168.0.105. Заметим, что оба устройства расположены в одной и той же сети (192.168.0.0/24). Если мы хотим, чтобы печатать можно было делать из других сетей, мы должны на сертвере изменить следующий раздел в файле cupsd.conf:

<Location />
  Order allow,deny
  Allow localhost
  Allow from XXX.YYY.ZZZ.*
</Location>

(в приведенном выше примере, мы предоставляем доступ к принтеру из localhost и из любой системы, адрес IPv4 которой начинается с XXX.YYY.ZZZ)

Чтобы проверить, какие принтеры доступны на нашем сервере, мы можем либо воспользоваться на сервере командой lpstat, либо перейти на страницу с адресом https://192.168.0.10:631/printers.

root@debian:~# lpstat -a 
EPSON_Stylus_CX3900 accepting requests since Mon 18 Aug 2014 10:49:33 AM WARST
PDF accepting requests since Mon 06 May 2013 04:46:11 PM WARST
SamsungML1640Series accepting requests since Wed 13 Aug 2014 10:13:47 PM WARST

Установка сетевых принтеров в настольном компьютере с Ubuntu

На нашей клиентской машине с Ubuntu 12.04 мы открываем меню «Printing» (Печать), т. е. «Dash» -> «Printing» (Панель управления -> Печать). Обратите внимание, что в других дистрибутивах название может немного отличаться, например, «Printers» (Принтеры) или «Print & Fax» (Принтер и факс):

В нашей клиентской машине с Ubuntu принтеры еще не добавлялись:

Ниже перечисляются шаги установки сетевого принтера на настольной клиентской машине с Ubuntu.

1) После нажатия кнопки «Add» (Добавить) будет запущено меню «New Printer» (Новый принтер). Мы выберем вариант «Network printer» -> «Find Network Printer» (Сетевой принтер -> Найти сетевой принтер) и введем адрес IP нашего сервера, а затем нажмем кнопку «Find» (Найти):

2) Внизу мы увидим имена доступных принтеров. Давайте выберем принтер Samsung и нажмем кнопку «Forward» (Далее):

3) Нам будет предложено добавить некоторую информацию о нашем принтере. По окончанию мы нажимаем кнопку «Apply» (Применить):

4) Нам будет задан вопрос о том, хотим ли мы, чтобы распечатать тестовую страницу. Давайте нажмем на кнопку «Print test page» (Печать тестовой страницы):

Было создано задание на печать с локальным идентификатором 2:

5) С помощью веб-интерфейса пакета CUPS мы можем увидеть, что задание печать было успешно принято. Используйте Printers -> SamsungML1640Series -> Show completed jobs (Принтеры -> Серия SamsungML1640 -> Показать завершенные задания):

Мы также можем получить эту же информацию, выполнив на сервере печати следующую команду:

root@debian:~# cat /var/log/cups/page_log | grep -i samsung 
SamsungML1640Series root 27 [13/Aug/2014:22:15:34 -0300] 1 1 - localhost Test Page - -
SamsungML1640Series gacanepa 28 [18/Aug/2014:11:28:50 -0300] 1 1 - 192.168.0.105 Test Page - -
SamsungML1640Series gacanepa 29 [18/Aug/2014:11:45:57 -0300] 1 1 - 192.168.0.105 Test Page - -

В файле журнала page_log указана каждая страница, которая была распечатана, причем вместе с пользователем, отправившим задание на печать, датой и временем и адресом IPv4 клиентской машины.

Чтобы установить струйный принтер Epson и принтер PDF, мы должны повторить шаги с 1 по 5, и каждый раз выбирать соответствующую очередь печати. Например, на рисунке, приведенном ниже, мы выбираем принтер PDF:

Тем не менее, обратите внимание, что согласно документации CUPS-PDF по умолчанию:

«Файлы PDF будут помещены в подкаталогах с именами, соответствующими именам владельца задания на печать. В случае, если владелец не может быть идентифицирован (т.е. не существует на сервере), результирующий файл помещается в каталог для анонимных работ (если в файле cups-pdf.conf не отключена настройка по умолчанию, то используется var/spool/cups-pdf/ANONYMOUS/)».

Эти каталоги, используемые по умолчанию, можно изменить с помощью изменения значения переменных Out и AnonDirName в файле /etc/cups/cups-pdf.conf. Здесь переменная ${HOME} заменяется домашним каталога пользователя:

Out ${HOME}/PDF
AnonDirName /var/spool/cups-pdf/ANONYMOUS

Примеры сетевой печати

Пример №1

Печать из Ubuntu 12.04 пользователя, вошедшего в систему как gacanepa (на сервере принтера существует учетная запись с таким же именем).

После того, как будет выполнена печать на принтере PDF, давайте проверим на сервере принтера содержимое каталога /home/gacanepa/PDF:

root@debian:~# ls -l /home/gacanepa/PDF 
total 368
-rw------- 1 gacanepa gacanepa 279176 Aug 18 13:49 Test_Page.pdf
-rw------- 1 gacanepa gacanepa   7994 Aug 18 13:50 Untitled1.pdf
-rw------- 1 gacanepa gacanepa  74911 Aug 18 14:36 Welcome_to_Conference_-_Thomas_S__Monson.pdf

Файлы PDF создаются с набором прав доступа 600 (-rw-------), что означает, что только владелец (gacanepa, в данном случае) может к ним иметь доступ. Мы можем изменить эту настройку, отредактировав значение переменной UserUMask в файле /etc/cups/cups-pdf.conf. Например, если с помощью команды umask установить значение 0033, то принтер PDF будет создавать файлы со всеми разрешениями для владельца, но всех остальных только с правами на чтение.

root@debian:~# grep -i UserUMask /etc/cups/cups-pdf.conf 
### Key: UserUMask
UserUMask 0033

Для тех, кто незнаком с командой umask (маска режима создания пользовательских файлов) - она действует как набор прав доступа, которые используются для установки прав доступа к файлам, задаваемые для новых файлов при их создании. Для конкретного значения umask результирующие права доступа к файлам вычисляются путем выполнения побитовой логической операции AND между базовыми правами доступа на файл (0666) и унарного побитового дополнения к umask. Таким образом, для umask, заданного как 0033, права доступа для новых файлов будет NOT (0033) AND 0666 = 644 (права на чтение/запись/выполнение для владельца и только на чтение для всех остальных).

Пример №2

Печать из Ubuntu 12.04 пользователя, вошедшего в систему как jdoe (пользователь с таким именем не существует на сервере).

root@debian:~# ls -l /var/spool/cups-pdf/ANONYMOUS 
total 5428
-rw-rw-rw- 1 nobody nogroup 5543070 Aug 18 15:57 Linux_-_Wikipedia__the_free_encyclopedia.pdf

Файлы PDF создаются с правами, установленными в 666 (-rw-rw-rw-), что означает, что каждый имеет к ним доступ. Мы можем изменить это, отредактировав значение переменной AnonUMask в файле /etc/cups/cups-pdf.conf.

Вы можете этим быть удивлены: Зачем устанавливать сетевой принтер PDF, когда большинство (если не все) в настоящее время настольных дистрибутивов Linux поставляются с встроенной утилитой «Print to file» (Печать в файл), которая позволяет пользователям создавать на лету файлы PDF?

Есть несколько преимуществ использования сетевого принтера PDF:

  • Сетевой принтер (любого рода) позволяет печатать напрямую из командной строки без необходимости сначала открывать файл.
  • В сети с другой операционной системой, установленной на клиентских машинах, сетевой принтер PDF избавляет системного администратора от необходимости устанавливать утилиту создания PDF на каждом отдельном компьютере (а также уменьшая безопасность системы, позволяя конечным пользователям установить такие инструменты).
  • Как мы видели, сетевой принтер PDF позволяет печатать непосредственно на сетевом ресурсе с настраиваемыми правами доступа к файлам.

Установка сетевого сканера в настольном компьютере с Ubuntu

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

1) Давайте сначала проверим, есть ли сканер на нашей клиентской машине с Ubuntu . Без какой-либо предварительной настройки вы можете увидеть сообщение о том, что «No scanners were identified» (Сканеры не обнаружены).

2) Теперь нам нужно включить демон saned, который поставляется с предварительно настроенным настольным компьютером с Ubuntu. Чтобы его включить, мы должны отредактировать файл /etc/default/saned и установить значение переменной RUN равным yes:

# Set to yes to start saned
RUN=yes

3) Давайте отредактируем файл /etc/sane.d/net.conf file и добавим адрес IP сервера, на котором установлен сканер:

4) Перезапускаем saned:

$ sudo service saned restart 

5) Давайте посмотрим, виден ли теперь сканер:

Теперь мы можем открыть утилиту «Simple Scan» (или другую утилиту сканирования) и начать сканирование документов. Мы можем повернуть, обрезать и сохранить полученное изображение:

Заключение

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

  • В очередь принтера могут отправлять задания на печать различные пользователи (обращающиеся с разных платформ и мест).
  • За счет совместного использования оборудования можно сэкономить на его стоимости приобретения и его техническом обслуживании.

Я надеюсь, что эта статья поможет вам воспользоваться этими преимуществами.