rm $1/image.iso
rm -r $1/cdr/samba
Сценарий и разделяемый объект, используемые в данном примере, надо сконфигурировать так же, как это было сделано для объекта [cd-create]
и сценария create-cd
. Файл, содержащий сценарий, должен быть определен как исполняемый, опции утилит mkisofs
и cdrecord
необходимо привести в соответствие с конфигурацией вашей системы, а для утилиты cdrecord
надо установить признак SUID, чтобы она выполнялась с правами root
. Для записи компакт-диска необходимо передать zip-файл разделяемому объекту, используя для этого команду COPY
системы DOS или Windows.
С:\> COPY FILE.ZIP\\SERVER\CD-PRINT
В результате выполнения данной команды содержимое файла FILE.ZIP
будет записано на компакт диск. Очевидно, что вместо SERVER
при вызове команды должно быть указано имя конкретного сервера. Эту команду следует поместить в файл .ВАТ
; имя zip-файла будет передаваться ей с помощью переменной.
COPY %1 \\SERVER\CD-PRINT
При вызове файла .ВАТ
надо указать файл архива. Так, если файл, содержащий команду копирования, имеет имя MAKECD.ВАТ
, то для его вызова используется команда MAKECD FILE.ZIP
. Если вы создадите на рабочем столе ярлык, представляющий файл .ВАТ
, то для записи компакт-диска достаточно будет перетащить файл архива на пиктограмму файла .ВАТ
. В состав файла .ВАТ
можно также включить вызов утилиты архивирования файлов. В этом случае, чтобы записать диск, пользователь должен будет собрать все необходимые ему файлы в одном каталоге и перетащить этот каталог на пиктограмму файла .ВАТ
.
Как и при использовании разделяемого объекта файлов, решение, реализованное в данном примере, имеет ряд недостатков. При выполнении сценария не проверяется размер образа диска и не принимаются меры, препятствующие одновременному обращению двух пользователей к разделяемому объекту. Но сценарий, свободный от этих недостатков, был бы гораздо сложнее.
Пример создания PDF-файлов
В качестве примера использования очереди печати можно привести задачу преобразования входных PostScript-данных в PDF-файлы. Для ее решения надо создать очередь подобную той, которая используется для обработки данных, сгенерированных с помощью PostScript-драйвера. Описание разделяемого объекта имеет следующий вид:
[pdf-create]
comment = Create a PDF file
path = /var/spool/samba
printable = Yes
print command = gs -dNOPAUSE -q -dBATCH -sDEVICE=pdfwrite \
-sOutputFile=%H/%s.pdf %s; rm %s
Символ \
, завершающий предпоследнюю строку, имеет специальное значение: он сообщает Samba о том, что в следующей строке находится продолжение текущей команды. Этот символ позволяет избежать появления в составе конфигурационного файла длинных строк и делает содержимое файла более удобным для чтения.
С помощью параметра print command
вызывается исполняемый файл Ghostscript (gs
). Опции -dNOPAUSE
, -q
и -dBATCH
обеспечивают непрерывный вывод данных с минимальным набором специальных сообщений, не требующий вмешательства пользователя. Опция -sDEVICE=pdfwrite
указывает на то, что в результате выполнения программы должны генерироваться PDF-файлы, а опция -sOutputFile=%H/%s.pdf
формирует имена файлов, отличающиеся от имен заданий на печать только суффиксом .pdf
. Сформированные PDF-файлы сохраняются в рабочем каталоге пользователя. Определение данного разделяемого объекта можно модифицировать так, чтобы PDF-файлы помещались в другой каталог или передавались пользователю в составе почтовых сообщений.
Резюме
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии