12.2.5. Доступ к Windows-принтеру с компьютера, работающего под Linux

12.2.5. Доступ к Windows-принтеру с компьютера, работающего под Linux

Настройки сетевого принтера находятся в файле /etc/printcap. Примерное содержание этого файла с комментариями приведено в листинге 12.8.

Листинг 12.8. Файл /etc/prtntcap

# //nt_ws1/hp5m via smbprint

#

lp:

# описание принтера

 :cm=HP 5MP Postscript hp5in on nt_ws1:

# имя устройства, открываемого для вывода

 :lp=/dev/lp0:

# каталог спула принтера (на локальной машине)

 :sd=/var/spool/lpd/lp:

# файл учета использования принтера

 :af=/var/spool/lpd/lp/acct:

# максимальный размер файла. Значение 0 означает отсутствие ограничений

 :mx# 0:

# имя входного фильтра

 :if=/usr/bin/smbprint:

В пакет Samba входит сценарий smbprint. С помощью этого сценария можно распечатывать документы на сетевом принтере, используя сервисы SMB. Возможно, в состав вашего пакета он не входит, поэтому я воссоздал его в листинге 12.9. Этот листинг частично позаимствован из руководства по пакету Samba.

Листинг 12.9. Сценарий smbprint

#!/bin/sh -х

# (с) Andrew Tridgell

# Этот скрипт является фильтром для системы печати,

# использующей

# файл /etc/printcap

# Он использует программу smbclient для печати файла на

# сетевом принтере,

# который подключен к рабочей станции Windows.

#

#

# Эта запись создает unix-принтер, названный "smb",

# который будет печатать с помощью этого сценария. Вам

# необходимо создать каталог спула /usr/spool/smb с

# соответствующими правами и владельцем

# smb:lp=/dev/null:sd=/usr/spool/smb:sh:

# if=/usr/local/samba/smbprint

# Далее сценарий был изменен Майклом Гамильтоном

# так что сервер, сервис и пароль могут быть считаны из

# файла

# /usr/var/spool/lpd/PRINTNAME/.config

#

# Для того, чтобы это работало, запись в /etc/printcap

# должна включать файл учета использования (af=...):

#

#cdcolour:

# :cm=CD IBM Colorjet on 6th:

# :sd=/var/spool/lpd/cdcolour:

# :af=/var/spool/lpd/cdcolour/acct:

# :if=/usr/local/etc/smbprint:

# :mx=0:

# :lp=/dev/null:

#

# Файл /usr/var/spool/lpd/PRINTNAME/.config должен

# содержать

#  server=PC_SERVER

#  serviсe=PR_SHARENAME

#  password="password"

#

#Например,

# server=PAULS_PC

# service=CJET_371

# password=""

#

# Файл для отладочной информации, можно изменить на /dev/null

#

logfile=/tmp/smb-print.log

spool_dir=/var/spool/lpd/lp

config_file=$spool_dir/.config

eval `cat $config_file`

echo "server $server, service $service" >> $logfile

(

 echo translate

 echo "print -"

 cat

) | /usr/bin/smbclient "\\$server\$service" $password -U $user -N -P >> $logfile

Теперь вы можете печатать на сетевом принтере. Но, тем не менее, я все же рекомендую прочитать руководство по пакету Samba для получения более подробной информации о печати на сетевых принтерах.

Данный текст является ознакомительным фрагментом.