Linux simple fax printer server mini-HOWTO (faxsrv-mini-HOWTO) |
---|
Пред. | | След. |
Вопросы и Ответы
Что такое "сервер факсовой печати"?
Сервер факсовой печати - это набор нескольких программ: efax и сервер
печати, объединенные таким образом, что посылка факса с компьютера
превращается в посылку распечатки на принтер.
Как его установить?
Установка efax в качестве сервера факсовой печати включает в себя несколько
задач. Я решал их несколько раз и собрал весь опыт в этом mini-HOWTO, так
что комментарии только приветствуются (<erez@newplaces.com>). Я описываю
здесь задачи и их решения. Вот все инструкции в двух словах:
Программа efax
Проверьте, что у вас установлен пакет efax.
На системах, основанных на RPM, это будет команда 'rpm -qv efax'.
Вы можете взять исходные тексты efax с серверов sunsite и redhat:
ftp://sunsite.unc.edu/pub/Linux/apps/serialcomm/fax/efax08a.tar.gz или
пакет rpm:
ftp://ftp.redhat.com/pub/redhat/redhat-4.2/i386/RedHat/RPMS/efax-0.8a-3.i386.rpm
Запись в printcap
В документации efax отсутствует двоеточие в конце записи printcap.
Решение: Добавьте следующую запись в /etc/printcap:
fax:\
:lp=/dev/null:\
:sd=/var/spool/fax:\
:if=/usr/bin/faxlpr: |
Команда fax
Используйте жесткую (hard link), а не символьную ссылку (symbolic) на команду fax.
Запустите команду:
ln /usr/bin/fax /usr/bin/faxlpr |
Файл /usr/bin/fax
Отредактируйте /usr/bin/fax, согласно вашим предпочтениям:
выберите правильный Класс факса для вашего модема:
Установите поле FROM="ваш международный телефонный номер"
Добавьте строку, конвертирующую международный телефонный номер в локальный.
Для Израиля это будет:
TELCVT='sed -e s/+972/0/ -e s/+/00/' # Израиль |
Исправьте ошибку в строке 586, смените cfile=...
на две следующие строки:
cfile=`/usr/bin/tail -1 lock`
cfile=`cat $cfile` |
Не должно быть знаков '-':
0) echo "$l" | mail -s "факс на $num послан" $user@$host ;;
*) echo "$l" | mail -s "факс на $num не прошел" $user@$host ;; |
Каталог /var/spool/fax
Создайте каталог /var/spool/fax
mkdir /var/spool/fax
chmod 777 /var/spool/fax |
lock-файл
lock-файл (/var/spool/fax/lock) создается с неправильными правами.
Исправьте это:
touch /var/spool/fax/lock ; chmod 644 /var/spool/fax/lock |
Файл /dev/modem
Программа efax работает с файлом /dev/modem,
но не работает с символьной
ссылкой, так что вам придется создать файл устройства с тем же главным
(major) и дополнительным (minor) номером, как и /dev/cua?,
к которому подключен модем. Чтобы разрешить доступ к факс-модему всем пользователям,
файл должен иметь права доступа rw-rw-rw-.
ls -lL /dev/modem
rm /dev/modem
mknod /dev/modem c Mj Mi
chmod 666 /dev/modem |
Mj = 5, а Mi = 64 для cua0, 65 для cua1 и т.д. Например (для cua1):
Каталог
/var/lock.
Смените права доступа к каталогу /var/lock
Как послать факс с сервера?
Вам нужно указать опции -Pfax и -J<номер факса>
Используйте одну из команд:
lpr -Pfax -J <номер факса> [имена файлов]
любая команда | lpr -Pfax -J<номер факса> |
Как мне указать номер факса?
После опции -J.
Как мне послать факс с другого Unix в сети?
Добавьте следующую запись в файл /etc/printcap
fax:\
:sd=/var/spool/fax:\
:mx#0:\
:sh:\
:rm=машина.домен:\
:rp=fax: |
создайте каталог /var/spool/fax и добавьте имя клиента в файл
/etc/hosts.lpd на сервере.
Посылка факса осуществляется так же, как и выше.
Примечание:
Заголовок, который добавляется к страницам факса программой efax, не
содержит имя пользователя, посылающего факс, впрочем это можно исправить.
Пользователям Caldera и LPRng
LPRng - это программное обеспечение, управляющее печатью, но использующее другой способ поддержки управляющего файла.
Luca Montecchiani <m.luca@usa.net> обнаружил и исправил эту проблему. В файле
/usr/bin/fax
нужно изменить две строки cfile=... (с номерами 586,587)
# Исправлено для работы с пакетом LPRng
# Luca Montecchiani (08/11/97 m.luca@usa.net)
if [ !-z "$CONTROL_FILE" ]
then
cfile=`cat tail -1 lock`
cfile=`cat $cfile`
else
cfile=$CONTROL_FILE
fi
|
Пред. | Начало | След. |
Linux simple fax printer server mini-HOWTO (faxsrv-mini-HOWTO) | | Последняя версия и как связаться с автором |